Browse Source
As of this commit, L98 of winconf.cmake already checks for MSVC before winconf-msvc calls this macro, so we are guaranteed to be satisfy the check.adaptive-webui-19844
NotTsunami
5 years ago
1 changed files with 32 additions and 34 deletions
@ -1,38 +1,36 @@ |
|||||||
macro(configure_msvc_runtime) |
macro(configure_msvc_runtime) |
||||||
if(MSVC) |
# Default to statically-linked runtime. |
||||||
# Default to statically-linked runtime. |
if("${MSVC_RUNTIME}" STREQUAL "") |
||||||
if("${MSVC_RUNTIME}" STREQUAL "") |
set(MSVC_RUNTIME "static") |
||||||
set(MSVC_RUNTIME "static") |
endif() |
||||||
endif() |
# Set compiler options. |
||||||
# Set compiler options. |
set(variables |
||||||
set(variables |
CMAKE_C_FLAGS_DEBUG |
||||||
CMAKE_C_FLAGS_DEBUG |
CMAKE_C_FLAGS_MINSIZEREL |
||||||
CMAKE_C_FLAGS_MINSIZEREL |
CMAKE_C_FLAGS_RELEASE |
||||||
CMAKE_C_FLAGS_RELEASE |
CMAKE_C_FLAGS_RELWITHDEBINFO |
||||||
CMAKE_C_FLAGS_RELWITHDEBINFO |
CMAKE_CXX_FLAGS_DEBUG |
||||||
CMAKE_CXX_FLAGS_DEBUG |
CMAKE_CXX_FLAGS_MINSIZEREL |
||||||
CMAKE_CXX_FLAGS_MINSIZEREL |
CMAKE_CXX_FLAGS_RELEASE |
||||||
CMAKE_CXX_FLAGS_RELEASE |
CMAKE_CXX_FLAGS_RELWITHDEBINFO |
||||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO |
) |
||||||
|
if(${MSVC_RUNTIME} STREQUAL "static") |
||||||
|
message(STATUS |
||||||
|
"MSVC -> forcing use of statically-linked runtime." |
||||||
|
) |
||||||
|
foreach(variable ${variables}) |
||||||
|
if(${variable} MATCHES "/MD") |
||||||
|
string(REGEX REPLACE "/MD" "/MT" ${variable} "${${variable}}") |
||||||
|
endif() |
||||||
|
endforeach() |
||||||
|
else() |
||||||
|
message(STATUS |
||||||
|
"MSVC -> forcing use of dynamically-linked runtime." |
||||||
) |
) |
||||||
if(${MSVC_RUNTIME} STREQUAL "static") |
foreach(variable ${variables}) |
||||||
message(STATUS |
if(${variable} MATCHES "/MT") |
||||||
"MSVC -> forcing use of statically-linked runtime." |
string(REGEX REPLACE "/MT" "/MD" ${variable} "${${variable}}") |
||||||
) |
endif() |
||||||
foreach(variable ${variables}) |
endforeach() |
||||||
if(${variable} MATCHES "/MD") |
|
||||||
string(REGEX REPLACE "/MD" "/MT" ${variable} "${${variable}}") |
|
||||||
endif() |
|
||||||
endforeach() |
|
||||||
else() |
|
||||||
message(STATUS |
|
||||||
"MSVC -> forcing use of dynamically-linked runtime." |
|
||||||
) |
|
||||||
foreach(variable ${variables}) |
|
||||||
if(${variable} MATCHES "/MT") |
|
||||||
string(REGEX REPLACE "/MT" "/MD" ${variable} "${${variable}}") |
|
||||||
endif() |
|
||||||
endforeach() |
|
||||||
endif() |
|
||||||
endif() |
endif() |
||||||
endmacro() |
endmacro() |
||||||
|
Loading…
Reference in new issue