-cmake_minimum_required(VERSION 2.6)
+cmake_minimum_required(VERSION 2.8.12)
if(POLICY CMP0017)
# Shadow cmake provided modules
cmake_policy(SET CMP0017 OLD)
endif()
+if(POLICY CMP0026)
+ # Allow use of the LOCATION property
+ cmake_policy(SET CMP0026 OLD)
+endif()
+
project(REACTOS)
# Versioning
if(ARCH STREQUAL "i386")
add_definitions(/D_X86_ /DWIN32 /D_WINDOWS)
endif()
+ if(MSVC_VERSION GREATER 1699)
+ add_definitions(/D_ALLOW_KEYWORD_MACROS)
+ endif()
add_definitions(/Dinline=__inline)
else()
add_compile_flags("-fshort-wchar -Wno-multichar")
add_subdirectory(lib)
if(NOT MSVC)
- export(TARGETS bin2c widl gendib cabman cdmake mkhive obj2bin spec2def geninc rsym mkshelllink FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
+ export(TARGETS bin2c widl gendib cabman cdmake mkhive obj2bin spec2def geninc rsym mkshelllink utf16le FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
else()
- export(TARGETS bin2c widl gendib cabman cdmake mkhive obj2bin spec2def geninc mkshelllink FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
+ export(TARGETS bin2c widl gendib cabman cdmake mkhive obj2bin spec2def geninc mkshelllink utf16le FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
endif()
else()
#useful stuff!
include(CMakeParseArguments)
- if(ENABLE_CCACHE)
- set(CMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES OFF)
- set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES OFF)
- endif()
-
# Default to Debug for the build type
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING
"Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
add_definitions(-D_WINKD_=1)
endif()
- if((NOT DEFINED PCH) AND (CMAKE_VERSION STREQUAL "2.8.12.1-ReactOS"))
- set(PCH 1)
+ if(CMAKE_VERSION MATCHES "ReactOS" AND MSVC_VERSION LESS 1900)
+ set(PCH 1 CACHE BOOL "Whether to use precompiled headers")
else()
- set(PCH 0)
+ set(PCH 0 CACHE BOOL "Whether to use precompiled headers")
endif()
# Version Options
elseif(ARCH STREQUAL "arm")
# _M_ARM is already defined by toolchain
add_definitions(-D_ARM_ -D__arm__)
+ if(SARCH STREQUAL "omap-zoom2")
+ add_definitions(-D_ZOOM2_)
+ endif()
endif()
# Other
elseif(ARCH STREQUAL "amd64")
add_definitions(-DUSE_COMPILER_EXCEPTIONS -DNO_UNDERSCORE_PREFIX)
elseif(ARCH STREQUAL "arm")
- add_definitions(-DUSE_COMPILER_EXCEPTIONS)
+ add_definitions(-DUSE_COMPILER_EXCEPTIONS -DNO_UNDERSCORE_PREFIX)
endif()
# Activate support for assembly source files
add_subdirectory(include/reactos/mc)
add_subdirectory(include/asm)
- include(cmake/baseaddress.cmake)
+ if(NO_ROSSYM)
+ include(cmake/baseaddress_dwarf.cmake)
+ else()
+ include(cmake/baseaddress.cmake)
+ endif()
# For MSVC builds, this puts all debug symbols file in the same directory.
set(CMAKE_PDB_OUTPUT_DIRECTORY "${REACTOS_BINARY_DIR}/msvc_pdb")
add_subdirectory(tools/wpp)
add_subdirectory(win32ss)
+ # Create the registry hives
+ create_registry_hives()
+
# Create {bootcd, livecd, bootcdregtest}.lst
create_iso_lists()