Author: tkreuzer
Date: Sun Jul 22 14:21:43 2012
New Revision: 56935
URL: http://svn.reactos.org/svn/reactos?rev=56935&view=rev
Log:
[CMAKE]
Add support for MSVC ARM
Configuration script works as usual from VS 11 ARM command prompt, host tools is configured for x86 and must be compiled from a VS x86 command prompt.
Modified:
trunk/reactos/configure.cmd
Modified: trunk/reactos/configure.cmd
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/configure.cmd?rev=56935&r1…
==============================================================================
--- trunk/reactos/configure.cmd [iso-8859-1] (original)
+++ trunk/reactos/configure.cmd [iso-8859-1] Sun Jul 22 14:21:43 2012
@@ -1,4 +1,16 @@
@echo off
+
+:: Special case %1 = arm_hosttools %2 = vcvarsall.bat %3 = %CMAKE_GENERATOR%
+if /I "%1" == "arm_hosttools" (
+ echo Configuring x86 host tools for ARM cross build
+
+ :: This launches %VSINSTALLDIR%VS\vcvarsall.bat
+ call %2 x86
+
+ :: Configure host tools for x86
+ cmake -G %3 -DARCH=i386 %~dp0
+ exit /b
+)
:: Get the source root directory
set REACTOS_SOURCE_DIR=%~dp0
@@ -37,6 +49,7 @@
:: VS command prompt does not put this in enviroment vars
cl 2>&1 | find "x86" > NUL && set ARCH=i386
cl 2>&1 | find "x64" > NUL && set ARCH=amd64
+ cl 2>&1 | find "ARM" > NUL && set ARCH=arm
cl 2>&1 | find "14." > NUL && set BUILD_ENVIRONMENT=VS8
cl 2>&1 | find "15." > NUL && set BUILD_ENVIRONMENT=VS9
cl 2>&1 | find "16." > NUL && set BUILD_ENVIRONMENT=VS10
@@ -69,6 +82,8 @@
) else if "%BUILD_ENVIRONMENT%" == "VS11" (
if "%ARCH%" == "amd64" (
set CMAKE_GENERATOR="Visual Studio 11 Win64"
+ ) else if "%ARCH%" == "arm" (
+ set CMAKE_GENERATOR="Visual Studio 11 ARM"
) else (
set CMAKE_GENERATOR="Visual Studio 11"
)
@@ -140,7 +155,14 @@
)
set REACTOS_BUILD_TOOLS_DIR=%CD%
-cmake -G %CMAKE_GENERATOR% -DARCH=%ARCH% %REACTOS_SOURCE_DIR%
+:: Use x86 for ARM host tools
+if "%ARCH%" == "arm" (
+ :: Launch new script instance for x86 host tools configuration
+ start "Preparing host tools for ARM cross build..." /WAIT /I /B %~dp0configure.cmd arm_hosttools "%VSINSTALLDIR%VC\vcvarsall.bat" %CMAKE_GENERATOR%
+) else (
+ cmake -G %CMAKE_GENERATOR% -DARCH=%ARCH% %REACTOS_SOURCE_DIR%
+)
+
cd..
echo Preparing reactos...
Author: jgardou
Date: Sun Jul 22 11:03:20 2012
New Revision: 56934
URL: http://svn.reactos.org/svn/reactos?rev=56934&view=rev
Log:
[CMAKE]
- Revert r56892 and r56889.
Add a comment as to why this should be this way.
Modified:
trunk/reactos/boot/bootdata/packages/CMakeLists.txt
Modified: trunk/reactos/boot/bootdata/packages/CMakeLists.txt
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/packages/CMa…
==============================================================================
--- trunk/reactos/boot/bootdata/packages/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/boot/bootdata/packages/CMakeLists.txt [iso-8859-1] Sun Jul 22 11:03:20 2012
@@ -33,12 +33,11 @@
COMMAND native-cabman -C ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff -L ${CMAKE_CURRENT_BINARY_DIR} -I -P ${REACTOS_SOURCE_DIR}
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff native-cabman)
-# Then we create the actual cab file
-add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/reactos.cab
+# Then we create the actual cab file using a custom target
+# Please do not change this into custom command + custom target. This breaks reactos.cab dependencies on modules
+# and you can't do something like "make gdi32/fast reactos_cab/fast bootcd/fast"
+add_custom_target(reactos_cab
COMMAND native-cabman -C ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff -RC ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf -L ${CMAKE_CURRENT_BINARY_DIR} -N -P ${REACTOS_SOURCE_DIR}
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf native-cabman)
-# Finally, we create the reactos_cab target
-add_custom_target(reactos_cab DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/reactos.cab)
add_cd_file(TARGET reactos_cab FILE ${CMAKE_CURRENT_BINARY_DIR}/reactos.cab ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf DESTINATION reactos NO_CAB FOR bootcd regtest)