From 2e5260d44c662d31357e0cd3e430957cddcf1a6e Mon Sep 17 00:00:00 2001 From: Charles Giessen Date: Tue, 27 Jun 2023 17:25:55 -0600 Subject: build: Default to using the static CRT for MSVC CMake 3.15 introduced CMAKE_MSVC_RUNTIME_LIBRARY as a way to control the CRT linked to by default. The old way of searching and replacing CMAKE__FLAGS does not work because CMake no longer adds the /MD flag in newer versions. Thus we can remove that code and replace it with a single instance of CMAKE_MSVC_RUNTIME_LIBRARY. --- CMakeLists.txt | 3 +++ cube/CMakeLists.txt | 22 ---------------------- vulkaninfo/CMakeLists.txt | 19 ------------------- 3 files changed, 3 insertions(+), 41 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 95a7d198..db0ceb11 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -153,6 +153,9 @@ if (TOOLS_CODEGEN) ) endif() +# Default to using the static CRT +set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + if(APPLE) include(mac_common.cmake) endif() diff --git a/cube/CMakeLists.txt b/cube/CMakeLists.txt index 5ed07775..9b16da31 100644 --- a/cube/CMakeLists.txt +++ b/cube/CMakeLists.txt @@ -177,28 +177,6 @@ endif() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -if(WIN32) - # Use static MSVCRT libraries - foreach(configuration - in - CMAKE_C_FLAGS_DEBUG - CMAKE_C_FLAGS_MINSIZEREL - CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_RELWITHDEBINFO - CMAKE_CXX_FLAGS_DEBUG - CMAKE_CXX_FLAGS_MINSIZEREL - CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_RELWITHDEBINFO) - if(${configuration} MATCHES "/MD") - string(REGEX - REPLACE "/MD" - "/MT" - ${configuration} - "${${configuration}}") - endif() - endforeach() -endif() - add_custom_command(COMMENT "Compiling cube vertex shader" OUTPUT cube.vert.inc COMMAND ${GLSLANG_VALIDATOR} -V -x -o ${CMAKE_CURRENT_BINARY_DIR}/cube.vert.inc diff --git a/vulkaninfo/CMakeLists.txt b/vulkaninfo/CMakeLists.txt index 6c34ded7..68900286 100644 --- a/vulkaninfo/CMakeLists.txt +++ b/vulkaninfo/CMakeLists.txt @@ -120,25 +120,6 @@ if(WIN32) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /guard:cf") endif() - # Use static MSVCRT libraries - foreach(configuration - in - CMAKE_C_FLAGS_DEBUG - CMAKE_C_FLAGS_MINSIZEREL - CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_RELWITHDEBINFO - CMAKE_CXX_FLAGS_DEBUG - CMAKE_CXX_FLAGS_MINSIZEREL - CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_RELWITHDEBINFO) - if(${configuration} MATCHES "/MD") - string(REGEX - REPLACE "/MD" - "/MT" - ${configuration} - "${${configuration}}") - endif() - endforeach() elseif(APPLE) add_definitions(-DVK_USE_PLATFORM_MACOS_MVK -DVK_USE_PLATFORM_METAL_EXT) endif() -- cgit v1.2.3