1234567891011121314151617181920212223242526272829303132333435363738 |
- macro(configure_msvc_runtime)
- if(MSVC)
- # Default to statically-linked runtime.
- if("${MSVC_RUNTIME}" STREQUAL "")
- set(MSVC_RUNTIME "static")
- endif()
- # Set compiler options.
- set(variables
- 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(${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."
- )
- foreach(variable ${variables})
- if(${variable} MATCHES "/MT")
- string(REGEX REPLACE "/MT" "/MD" ${variable} "${${variable}}")
- endif()
- endforeach()
- endif()
- endif()
- endmacro()
|