diff options
author | Steve Streeting <steve@stevestreeting.com> | 2020-07-01 18:13:08 +0100 |
---|---|---|
committer | Steve Streeting <steve@stevestreeting.com> | 2020-07-01 18:13:08 +0100 |
commit | a877acd07f687aebd9e7eddcea0447882e04c79f (patch) | |
tree | 70528168b4500063db0b8294e8bd8a5b8a16908c /CMakeLists.txt | |
parent | d8c7f97dbbdfc2b849bc0d9ec12eee4d26fe5dc9 (diff) | |
download | bullet3-a877acd07f687aebd9e7eddcea0447882e04c79f.tar.gz |
Add USE_MSVC_RELEASE_RUNTIME_ALWAYS to use Release CRT even in Debug builds
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 00e7b1a10..e432f929b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,6 +63,7 @@ IF (CMAKE_SYSTEM_NAME STREQUAL WindowsPhone OR CMAKE_SYSTEM_NAME STREQUAL Window ELSE () OPTION(USE_MSVC_RUNTIME_LIBRARY_DLL "Use MSVC Runtime Library DLL (/MD or /MDd)" OFF) ENDIF (CMAKE_SYSTEM_NAME STREQUAL WindowsPhone OR CMAKE_SYSTEM_NAME STREQUAL WindowsStore) +OPTION(USE_MSVC_RELEASE_RUNTIME_ALWAYS "Use MSVC Release Runtime Library even in Debug" OFF) #SET(CMAKE_EXE_LINKER_FLAGS_INIT "/STACK:10000000 /INCREMENTAL:NO") #SET(CMAKE_EXE_LINKER_FLAGS "/STACK:10000000 /INCREMENTAL:NO") @@ -105,6 +106,21 @@ IF(MSVC) ENDFOREACH(flag_var) ENDIF (NOT USE_MSVC_RUNTIME_LIBRARY_DLL) + IF (USE_MSVC_RELEASE_RUNTIME_ALWAYS) + FOREACH(flag_var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO ) + IF(${flag_var} MATCHES "/MDd") + STRING(REGEX REPLACE "/MDd" "/MD" ${flag_var} "${${flag_var}}") + ENDIF(${flag_var} MATCHES "/MDd") + IF(${flag_var} MATCHES "/MTd") + STRING(REGEX REPLACE "/MTd" "/MT" ${flag_var} "${${flag_var}}") + ENDIF(${flag_var} MATCHES "/MTd") + # Need to remove _DEBUG too otherwise things like _ITERATOR_DEBUG_LEVEL mismatch + IF(${flag_var} MATCHES "-D_DEBUG") + STRING(REGEX REPLACE "-D_DEBUG" "" ${flag_var} "${${flag_var}}") + ENDIF(${flag_var} MATCHES "-D_DEBUG") + ENDFOREACH(flag_var) + ENDIF (USE_MSVC_RELEASE_RUNTIME_ALWAYS) + IF (CMAKE_CL_64) ADD_DEFINITIONS(-D_WIN64) ELSE() |