Configure CMake itself with policies through CMake 3.15
In particular, set `CMP0091` to `NEW` to enable the MSVC runtime library abstraction so it can be set via `CMAKE_MSVC_RUNTIME_LIBRARY` in the cache.
This commit is contained in:
parent
130dbe4a5d
commit
ed54d87789
@ -1,13 +1,24 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
cmake_minimum_required(VERSION 3.1...3.14 FATAL_ERROR)
|
||||
cmake_minimum_required(VERSION 3.1...3.15 FATAL_ERROR)
|
||||
set(CMAKE_USER_MAKE_RULES_OVERRIDE_C ${CMAKE_CURRENT_SOURCE_DIR}/Source/Modules/OverrideC.cmake)
|
||||
set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX ${CMAKE_CURRENT_SOURCE_DIR}/Source/Modules/OverrideCXX.cmake)
|
||||
project(CMake)
|
||||
unset(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX)
|
||||
unset(CMAKE_USER_MAKE_RULES_OVERRIDE_C)
|
||||
|
||||
# FIXME: This block should go away after a transition period.
|
||||
if(MSVC AND NOT CMAKE_VERSION VERSION_LESS 3.15)
|
||||
# Filter out MSVC runtime library flags that may have come from
|
||||
# the cache of an existing build tree or from scripts.
|
||||
foreach(l C CXX)
|
||||
foreach(c DEBUG MINSIZEREL RELEASE RELWITHDEBINFO)
|
||||
string(REGEX REPLACE "[-/]M[DT]d?( |$)" "" "CMAKE_${l}_FLAGS_${c}" "${CMAKE_${l}_FLAGS_${c}}")
|
||||
endforeach()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# Make sure we can find internal find_package modules only used for
|
||||
# building CMake and not for shipping externally
|
||||
list(INSERT CMAKE_MODULE_PATH 0 ${CMake_SOURCE_DIR}/Source/Modules)
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
if(NOT CMake_SOURCE_DIR)
|
||||
set(CMakeDeveloperReference_STANDALONE 1)
|
||||
cmake_minimum_required(VERSION 3.1...3.14 FATAL_ERROR)
|
||||
cmake_minimum_required(VERSION 3.1...3.15 FATAL_ERROR)
|
||||
get_filename_component(tmp "${CMAKE_CURRENT_SOURCE_DIR}" PATH)
|
||||
get_filename_component(CMake_SOURCE_DIR "${tmp}" PATH)
|
||||
include(${CMake_SOURCE_DIR}/Modules/CTestUseLaunchers.cmake)
|
||||
|
@ -1,9 +1,15 @@
|
||||
if(MSVC)
|
||||
if(NOT CMAKE_VERSION VERSION_LESS 3.15)
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
else()
|
||||
foreach(CONFIG DEBUG MINSIZEREL RELEASE RELWITHDEBINFO)
|
||||
string(REPLACE "/MD" "/MT"
|
||||
"CMAKE_CXX_FLAGS_${CONFIG}"
|
||||
"${CMAKE_CXX_FLAGS_${CONFIG}}"
|
||||
)
|
||||
endforeach()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_library(CMakeWiXCustomActions MODULE
|
||||
detect_nsis_overwrite.cpp
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
if(NOT CMake_SOURCE_DIR)
|
||||
set(CMakeHelp_STANDALONE 1)
|
||||
cmake_minimum_required(VERSION 3.1...3.14 FATAL_ERROR)
|
||||
cmake_minimum_required(VERSION 3.1...3.15 FATAL_ERROR)
|
||||
get_filename_component(tmp "${CMAKE_CURRENT_SOURCE_DIR}" PATH)
|
||||
get_filename_component(CMake_SOURCE_DIR "${tmp}" PATH)
|
||||
include(${CMake_SOURCE_DIR}/Modules/CTestUseLaunchers.cmake)
|
||||
|
Loading…
Reference in New Issue
Block a user