sync trunk HEAD (r50626)
[reactos.git] / toolchain-msvc.cmake
index 2a12282..f87d337 100644 (file)
@@ -1,8 +1,4 @@
 \r
-if(NOT ARCH)\r
-set(ARCH i386)\r
-endif(NOT ARCH)\r
-\r
 # the name of the target operating system\r
 set(CMAKE_SYSTEM_NAME Windows)\r
 set(CMAKE_SYSTEM_PROCESSOR i686)\r
@@ -10,13 +6,32 @@ set(CMAKE_SYSTEM_PROCESSOR i686)
 # which compilers to use for C and C++\r
 set(CMAKE_C_COMPILER cl)\r
 set(CMAKE_CXX_COMPILER cl)\r
-SET(CMAKE_RC_COMPILER rc)\r
-SET(CMAKE_ASM_COMPILER ml)\r
+set(CMAKE_RC_COMPILER rc)\r
+if(${ARCH} MATCHES amd64)\r
+  set(CMAKE_ASM_COMPILER ml64)\r
+else()\r
+  set(CMAKE_ASM_COMPILER ml)\r
+endif()\r
+\r
+set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> <DEFINES> /I${REACTOS_SOURCE_DIR}/include/psdk /I${REACTOS_BINARY_DIR}/include/psdk /I${REACTOS_SOURCE_DIR}/include /I${REACTOS_SOURCE_DIR}/include/reactos /I${REACTOS_BINARY_DIR}/include/reactos /I${REACTOS_SOURCE_DIR}/include/reactos/wine /I${REACTOS_SOURCE_DIR}/include/crt /I${REACTOS_SOURCE_DIR}/include/crt/mingw32 /fo <OBJECT> <SOURCE>")\r
 \r
-SET(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> <DEFINES> /I${REACTOS_SOURCE_DIR}/include/psdk /I${REACTOS_BINARY_DIR}/include/psdk /I${REACTOS_SOURCE_DIR}/include/ /I${REACTOS_SOURCE_DIR}/include/reactos /I${REACTOS_BINARY_DIR}/include/reactos /I${REACTOS_SOURCE_DIR}/include/reactos/wine /I${REACTOS_SOURCE_DIR}/include/crt /I${REACTOS_SOURCE_DIR}/include/crt/mingw32 /fo <OBJECT> <SOURCE>")\r
+SET(CMAKE_ASM_COMPILE_OBJECT\r
+    "<CMAKE_C_COMPILER> /nologo /X /I${REACTOS_SOURCE_DIR}/include/asm /I${REACTOS_BINARY_DIR}/include/asm <FLAGS> <DEFINES> /D__ASM__ /D_USE_ML /EP /c <SOURCE> > <OBJECT>.tmp"\r
+    "<CMAKE_ASM_COMPILER> /nologo /Cp /Fo<OBJECT> /c /Ta <OBJECT>.tmp")\r
 \r
 set(CMAKE_C_FLAGS_INIT "/DWIN32 /D_WINDOWS /W1 /Zm1000")\r
+set(CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi  /Ob0 /Od")\r
+SET(CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Ob0 /Od")\r
 \r
 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\r
 set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\r
 set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\r
+\r
+# Prevent from using run time checking when testing the compiler\r
+set(CMAKE_BUILD_TYPE "RelwithDebInfo" CACHE STRING "Build Type")\r
+\r
+set(CMAKE_C_STANDARD_LIBRARIES "" CACHE INTERNAL "")\r
+\r
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86")\r
+    add_definitions(-D__i386__)\r
+endif()\r