@@ -122,22 +122,25 @@ if(MSVC)
|
||||
add_compile_options($<$<COMPILE_LANGUAGE:C>:/wd4267>)
|
||||
|
||||
# handle msvcrt setting being passed in CMAKE_C_FLAGS
|
||||
if(DEFINED CMAKE_MSVC_RUNTIME_LIBRARY)
|
||||
# do not support other methods of setting this (it would be more conformant, tho)
|
||||
message(FATAL_ERROR "please set msvcrt via CMAKE_C_FLAGS")
|
||||
endif()
|
||||
if(CMAKE_C_FLAGS MATCHES "[/-]MTd")
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDebug")
|
||||
elseif(CMAKE_C_FLAGS MATCHES "[/-]MDd")
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDebugDLL")
|
||||
elseif(CMAKE_C_FLAGS MATCHES "[/-]MT")
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded")
|
||||
elseif(CMAKE_C_FLAGS MATCHES "[/-]MD")
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDLL")
|
||||
endif()
|
||||
if(CMAKE_C_FLAGS MATCHES "[/-]M[TD]d?")
|
||||
# ensure CMAKE_MSVC_RUNTIME_LIBRARY is not already defined
|
||||
if(DEFINED CMAKE_MSVC_RUNTIME_LIBRARY)
|
||||
message(FATAL_ERROR "please set the runtime library via either CMAKE_C_FLAGS or CMAKE_MSVC_RUNTIME_LIBRARY, not both")
|
||||
endif()
|
||||
|
||||
# prevent the arg from occurring more than once (not a big deal, just to keep tidy)
|
||||
string(REGEX REPLACE "[/-]M[TD]d?" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
|
||||
if(CMAKE_C_FLAGS MATCHES "[/-]MTd")
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDebug")
|
||||
elseif(CMAKE_C_FLAGS MATCHES "[/-]MDd")
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDebugDLL")
|
||||
elseif(CMAKE_C_FLAGS MATCHES "[/-]MT")
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded")
|
||||
elseif(CMAKE_C_FLAGS MATCHES "[/-]MD")
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDLL")
|
||||
endif()
|
||||
|
||||
# prevent the arg from occurring more than once (not a big deal, just to keep tidy)
|
||||
string(REGEX REPLACE "[/-]M[TD]d?" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
|
||||
endif()
|
||||
else()
|
||||
if(MINGW)
|
||||
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpmachine
|
||||
|
||||
Reference in New Issue
Block a user