Skip to content

Commit 6352ee1

Browse files
committed
fix: simplify MSVC runtime config with CMP0091 policy
- Set cmake_policy(SET CMP0091 NEW) before project() - Use CMAKE_MSVC_RUNTIME_LIBRARY with generator expression - gtest_force_shared_crt OFF for static CRT
1 parent 0814e53 commit 6352ee1

1 file changed

Lines changed: 4 additions & 7 deletions

File tree

CMakeLists.txt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
cmake_minimum_required(VERSION 3.14)
22

3+
cmake_policy(SET CMP0091 NEW)
4+
35
project(cc_cpp VERSION 0.1.0 LANGUAGES CXX)
46

57
set(CMAKE_CXX_STANDARD 17)
68
set(CMAKE_CXX_STANDARD_REQUIRED ON)
79
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
810

9-
# Windows: Use static runtime library (/MT) for all targets
11+
# Windows: Use static runtime library for all targets
1012
if(MSVC)
11-
# Replace default /MD with /MT for all build configurations
12-
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
13-
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
14-
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MT")
15-
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /MT")
16-
# Google Test should also use static CRT (default behavior)
13+
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
1714
set(gtest_force_shared_crt OFF CACHE BOOL "" FORCE)
1815
endif()
1916

0 commit comments

Comments
 (0)