Author: dreimer
Date: Thu Jul 29 13:37:03 2010
New Revision: 48353
URL:
http://svn.reactos.org/svn/reactos?rev=48353&view=rev
Log:
Add CMake Support to RosBE. It detects if you are inside the CMake Branch and behaves
accordingly. Just use make/makex as you did before.
PS Version will come later today.
Added:
trunk/tools/RosBE/RosBE-Windows/Root/CMake-Shared.cmd (with props)
Modified:
trunk/tools/RosBE/RosBE-Windows/Root/Build-Shared.cmd
trunk/tools/RosBE/RosBE-Windows/Root/Make.cmd
trunk/tools/RosBE/RosBE-Windows/Root/Makex.cmd
trunk/tools/RosBE/RosBE-Windows/Root/RosBE.cmd
Modified: trunk/tools/RosBE/RosBE-Windows/Root/Build-Shared.cmd
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Windows/Root/Bui…
==============================================================================
--- trunk/tools/RosBE/RosBE-Windows/Root/Build-Shared.cmd [iso-8859-1] (original)
+++ trunk/tools/RosBE/RosBE-Windows/Root/Build-Shared.cmd [iso-8859-1] Thu Jul 29 13:37:03
2010
@@ -2,7 +2,7 @@
:: PROJECT: RosBE - ReactOS Build Environment for Windows
:: LICENSE: GNU General Public License v2. (see LICENSE.txt)
:: FILE: Root/Build-Shared.cmd
-:: PURPOSE: Perform the build of ReactOS.
+:: PURPOSE: Perform the build of ReactOS - Shared commands.
:: COPYRIGHT: Copyright 2010 Daniel Reimer <reimer.daniel(a)freenet.de>
:: Colin Finck <colin(a)reactos.org>
:: Peter Ward <dralnix(a)gmail.com>
Added: trunk/tools/RosBE/RosBE-Windows/Root/CMake-Shared.cmd
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Windows/Root/CMa…
==============================================================================
--- trunk/tools/RosBE/RosBE-Windows/Root/CMake-Shared.cmd (added)
+++ trunk/tools/RosBE/RosBE-Windows/Root/CMake-Shared.cmd [iso-8859-1] Thu Jul 29 13:37:03
2010
@@ -1,0 +1,75 @@
+::
+:: PROJECT: RosBE - ReactOS Build Environment for Windows
+:: LICENSE: GNU General Public License v2. (see LICENSE.txt)
+:: FILE: Root/CMake-Shared.cmd
+:: PURPOSE: Perform the CMake build of ReactOS - Shared commands.
+:: COPYRIGHT: Copyright 2010 Daniel Reimer <reimer.daniel(a)freenet.de>
+::
+
+@echo off
+if not defined _ROSBE_DEBUG set _ROSBE_DEBUG=0
+if %_ROSBE_DEBUG% == 1 (
+ @echo on
+)
+
+if %_ROSBE_WRITELOG% == 1 (
+ if not exist "%_ROSBE_LOGDIR%\." (
+ mkdir "%_ROSBE_LOGDIR%" 1> NUL 2> NUL
+ )
+)
+
+if not exist "output-%ROS_ARCH%\." (
+ mkdir "output-%ROS_ARCH%" 1> NUL 2> NUL
+)
+
+cd "output-%ROS_ARCH%"
+
+:: Get the current date and time for use in in our build log's file name.
+call "%_ROSBE_BASEDIR%\TimeDate.cmd"
+
+title '%TITLE_COMMAND%' cmake build started: %TIMERAW% (%ROS_ARCH%)
+
+:: Do the actual building
+if %_ROSBE_SHOWTIME% == 1 (
+ set BUILDTIME_COMMAND=buildtime.exe
+) else (
+ set BUILDTIME_COMMAND=
+)
+
+if not exist "build\." (
+ mkdir "build" 1> NUL 2> NUL
+)
+cd build
+cmake.exe -G "MinGW Makefiles" ..\..\
+if %_ROSBE_WRITELOG% == 1 (
+ %BUILDTIME_COMMAND% make.exe -j %MAKE_JOBS% %* 2>&1 | tee.exe
"%_ROSBE_LOGDIR%\BuildToolLog-%ROS_ARCH%-%datename%-%timename%.txt"
+) else (
+ %BUILDTIME_COMMAND% make.exe -j %MAKE_JOBS% %*
+)
+cd..
+
+if not exist "build-ros\." (
+ mkdir "build-ros" 1> NUL 2> NUL
+)
+cd build-ros
+cmake.exe -G "MinGW Makefiles" -DCMAKE_TOOLCHAIN_FILE=toolchain-mingw32.cmake
..\..\
+if %_ROSBE_WRITELOG% == 1 (
+ %BUILDTIME_COMMAND% make.exe -j %MAKE_JOBS% %* 2>&1 | tee.exe
"%_ROSBE_LOGDIR%\BuildROSLog-%ROS_ARCH%-%datename%-%timename%.txt"
+) else (
+ %BUILDTIME_COMMAND% make.exe -j %MAKE_JOBS% %*
+)
+cd..
+
+cd..
+:EOC
+:: Highlight the fact that building has ended.
+
+if !errorlevel! GEQ 1 (
+ playwav.exe error.wav
+) else (
+ playwav.exe notification.wav
+)
+
+flash.exe
+
+title ReactOS Build Environment %_ROSBE_VERSION%
Propchange: trunk/tools/RosBE/RosBE-Windows/Root/CMake-Shared.cmd
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/tools/RosBE/RosBE-Windows/Root/Make.cmd
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Windows/Root/Mak…
==============================================================================
--- trunk/tools/RosBE/RosBE-Windows/Root/Make.cmd [iso-8859-1] (original)
+++ trunk/tools/RosBE/RosBE-Windows/Root/Make.cmd [iso-8859-1] Thu Jul 29 13:37:03 2010
@@ -3,7 +3,7 @@
:: LICENSE: GNU General Public License v2. (see LICENSE.txt)
:: FILE: Root/Make.cmd
:: PURPOSE: Perform a uniprocessor build
-:: COPYRIGHT: Copyright 2009 Daniel Reimer <reimer.daniel(a)freenet.de>
+:: COPYRIGHT: Copyright 2010 Daniel Reimer <reimer.daniel(a)freenet.de>
:: Colin Finck <colin(a)reactos.org>
:: Peter Ward <dralnix(a)gmail.com>
::
@@ -20,5 +20,9 @@
set MAKE_JOBS=1
set TITLE_COMMAND=make %*
-call "%_ROSBE_BASEDIR%\Build-Shared.cmd" %*
+if exist "CMakeLists.txt" (
+ call "%_ROSBE_BASEDIR%\CMake-Shared.cmd" %*
+) else (
+ call "%_ROSBE_BASEDIR%\Build-Shared.cmd" %*
+)
endlocal
Modified: trunk/tools/RosBE/RosBE-Windows/Root/Makex.cmd
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Windows/Root/Mak…
==============================================================================
--- trunk/tools/RosBE/RosBE-Windows/Root/Makex.cmd [iso-8859-1] (original)
+++ trunk/tools/RosBE/RosBE-Windows/Root/Makex.cmd [iso-8859-1] Thu Jul 29 13:37:03 2010
@@ -3,7 +3,7 @@
:: LICENSE: GNU General Public License v2. (see LICENSE.txt)
:: FILE: Root/Makex.cmd
:: PURPOSE: Perform a multiprocessor build
-:: COPYRIGHT: Copyright 2009 Daniel Reimer <reimer.daniel(a)freenet.de>
+:: COPYRIGHT: Copyright 2010 Daniel Reimer <reimer.daniel(a)freenet.de>
:: Colin Finck <colin(a)reactos.org>
:: Peter Ward <dralnix(a)gmail.com>
::
@@ -20,5 +20,9 @@
set MAKE_JOBS=%_ROSBE_MAKEX_JOBS%
set TITLE_COMMAND=makex %*
-call "%_ROSBE_BASEDIR%\Build-Shared.cmd" %*
+if exist "CMakeLists.txt" (
+ call "%_ROSBE_BASEDIR%\CMake-Shared.cmd" %*
+) else (
+ call "%_ROSBE_BASEDIR%\Build-Shared.cmd" %*
+)
endlocal
Modified: trunk/tools/RosBE/RosBE-Windows/Root/RosBE.cmd
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Windows/Root/Ros…
==============================================================================
--- trunk/tools/RosBE/RosBE-Windows/Root/RosBE.cmd [iso-8859-1] (original)
+++ trunk/tools/RosBE/RosBE-Windows/Root/RosBE.cmd [iso-8859-1] Thu Jul 29 13:37:03 2010
@@ -41,12 +41,12 @@
set _ROSBE_TARGET_MINGWPATH=%_ROSBE_BASEDIR%\%ROS_ARCH%
set _BUILDBOT_SVNSKIPMAINTRUNK=0
-set
_ROSBE_ORIGINALPATH=%_ROSBE_BASEDIR%;%_ROSBE_BASEDIR%\Tools;%_ROSBE_BASEDIR%\samples;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem"
+set
_ROSBE_ORIGINALPATH=%_ROSBE_BASEDIR%;%_ROSBE_BASEDIR%\Tools;%_ROSBE_BASEDIR%\samples;%PATH%
::
-:: Enable this one, if you want to use the System Path Var inside RosBE.
+:: Enable this one, if you don't want to use the System Path Var inside RosBE.
::
-REM set
_ROSBE_ORIGINALPATH=%_ROSBE_BASEDIR%;%_ROSBE_BASEDIR%\Tools;%_ROSBE_BASEDIR%\samples;%PATH%
+REM set
_ROSBE_ORIGINALPATH=%_ROSBE_BASEDIR%;%_ROSBE_BASEDIR%\Tools;%_ROSBE_BASEDIR%\samples;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem"
:: Fix Bison package path (just in case RosBE is installed in a path which contains
spaces)
set BISON_PKGDATADIR=%~ds0%~sp0%i386\share\bison