X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=CMakeLists.txt;h=d2e8b861ee2c7fa2026c3a5aa12d235010d11db4;hp=f752a8eb1886e89310eb6e290f2a5165d36d3a90;hb=a5172b46995472112b8152f0185ca1dc95bb9cdd;hpb=d96609a4397c89a01f7868e6615c9751486bde65 diff --git a/CMakeLists.txt b/CMakeLists.txt index f752a8eb188..d2e8b861ee2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,20 +1,16 @@ -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.2.1) +cmake_policy(VERSION 3.2.1) -if(POLICY CMP0017) - # Shadow cmake provided modules - cmake_policy(SET CMP0017 OLD) +if(NOT CMAKE_VERSION MATCHES "ReactOS") + message(WARNING "Building with \"${CMAKE_COMMAND}\", which is not the custom CMake included in RosBE, might cause build issues...") endif() -if(POLICY CMP0026) - # Allow use of the LOCATION property - cmake_policy(SET CMP0026 OLD) -endif() +# Don't escape preprocessor definition values added via add_definitions +cmake_policy(SET CMP0005 OLD) -if(POLICY CMP0051) - # List TARGET_OBJECTS in SOURCES target property - cmake_policy(SET CMP0051 NEW) -endif() +# Honor CMAKE_SHARED_LIBRARY__FLAGS variable. +cmake_policy(SET CMP0018 OLD) if(POLICY CMP0058) # Ninja requires custom command byproducts to be explicit @@ -26,13 +22,6 @@ project(REACTOS) # Versioning include(sdk/include/reactos/version.cmake) -# Don't escape preprocessor definition values added via add_definitions -cmake_policy(SET CMP0005 OLD) -cmake_policy(SET CMP0002 NEW) -if(POLICY CMP0018) - cmake_policy(SET CMP0018 OLD) -endif() - set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON) set(CMAKE_SHARED_LIBRARY_PREFIX "") @@ -68,17 +57,14 @@ endif() include(sdk/cmake/compilerflags.cmake) add_definitions(-D__REACTOS__) +add_definitions(-DREACTOS_SOURCE_DIR="\\"${REACTOS_SOURCE_DIR}\\"") +add_definitions(-DREACTOS_BINARY_DIR="\\"${REACTOS_BINARY_DIR}\\"") +add_compile_flags(-D__RELFILE__="&__FILE__[sizeof REACTOS_SOURCE_DIR]") if(MSVC_IDE) add_compile_flags("/MP") endif() -# We don't need CMake importlib handling. -# FIXME: Remove the MSVC_IDE condition when the upcoming RosBE lands. -if(NOT MSVC_IDE) - unset(CMAKE_IMPORT_LIBRARY_SUFFIX) -endif() - # Bison and Flex support # include(sdk/cmake/bison-flex.cmake) @@ -120,6 +106,8 @@ if(NOT CMAKE_CROSSCOMPILING) endif() else() + # We don't need CMake importlib handling. + unset(CMAKE_IMPORT_LIBRARY_SUFFIX) if(NEW_STYLE_BUILD) include(sdk/cmake/host-tools.cmake)