+if(NOT ARCH)
+ set(ARCH i386)
+endif()
+
# the name of the target operating system
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR i686)
# which compilers to use for C and C++
set(CMAKE_C_COMPILER cl)
+
+if(ARCH STREQUAL "arm")
+ include(CMakeForceCompiler)
+ CMAKE_FORCE_CXX_COMPILER(cl MSVC)
+else()
set(CMAKE_CXX_COMPILER cl)
+endif()
+
+set(CMAKE_MC_COMPILER mc)
set(CMAKE_RC_COMPILER rc)
-if(${ARCH} MATCHES amd64)
+if(ARCH STREQUAL "amd64")
set(CMAKE_ASM_COMPILER ml64)
+elseif(ARCH STREQUAL "arm")
+ set(CMAKE_ASM_COMPILER armasm)
else()
set(CMAKE_ASM_COMPILER ml)
endif()
-
-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>")
-
-set(CMAKE_ASM_COMPILE_OBJECT
- "<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"
- "<CMAKE_ASM_COMPILER> /nologo /Cp /Fo<OBJECT> /c /Ta <OBJECT>.tmp")
+set(CMAKE_ASM_COMPILER_ID "VISUAL")
set(CMAKE_C_STANDARD_LIBRARIES "" CACHE INTERNAL "")
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86")
+if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86")
add_definitions(-D__i386__)
endif()