diff --git a/src/libs/qtcreatorcdbext/CMakeLists.txt b/src/libs/qtcreatorcdbext/CMakeLists.txt index 3797afd1cf2..03ca0eda6d8 100644 --- a/src/libs/qtcreatorcdbext/CMakeLists.txt +++ b/src/libs/qtcreatorcdbext/CMakeLists.txt @@ -25,18 +25,6 @@ if (CMAKE_SIZEOF_VOID_P EQUAL 8) set(ArchSuffix 64) endif() -# statically link MSVC runtime -# see https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#how-can-i-build-my-msvc-application-with-a-static-runtime -# TODO change to MSVC_RUNTIME_LIBRARY when CMake 3.15 is required -# set_property(TARGET qtcreatorcdbext PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") -foreach(flag_var - CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) - if(${flag_var} MATCHES "/MD") - string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") - endif() -endforeach() - add_qtc_library(qtcreatorcdbext COMPONENT qtcreatorcdbext DEPENDS ${DbgEngLib} @@ -60,6 +48,9 @@ add_qtc_library(qtcreatorcdbext qtc_library_enabled(_library_enabled qtcreatorcdbext) if (_library_enabled) + # statically link MSVC runtime + set_property(TARGET qtcreatorcdbext PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + find_package(Python3 3.8 COMPONENTS Development) if (NOT ${Python3_Development_FOUND}) diff --git a/src/tools/sdktool/CMakeLists.txt b/src/tools/sdktool/CMakeLists.txt index 7726969b307..0161cc2c2ed 100644 --- a/src/tools/sdktool/CMakeLists.txt +++ b/src/tools/sdktool/CMakeLists.txt @@ -25,15 +25,6 @@ find_package(Qt5 REQUIRED ) -if (MSVC) - # find out if Qt is static and set /MT if so - get_target_property(_input_type Qt5::Core TYPE) - if (${_input_type} STREQUAL "STATIC_LIBRARY") - string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") - string(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") - endif() -endif() - if (APPLE) find_library(FWFoundation Foundation) endif() @@ -74,6 +65,14 @@ add_qtc_executable(sdktool settings.cpp settings.h ) +if (MSVC AND TARGET sdktool) + # find out if Qt is static and set /MT if so + get_target_property(_input_type Qt5::Core TYPE) + if (${_input_type} STREQUAL "STATIC_LIBRARY") + set_property(TARGET sdktool PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + endif() +endif() + extend_qtc_executable(sdktool SOURCES_PREFIX "${UtilsSourcesDir}" DEFINES QTCREATOR_UTILS_STATIC_LIB