diff --git a/cmake/QtInternalTargets.cmake b/cmake/QtInternalTargets.cmake index 2fd99c7be3..7dbaed0d31 100644 --- a/cmake/QtInternalTargets.cmake +++ b/cmake/QtInternalTargets.cmake @@ -167,7 +167,7 @@ if (MSVC) -FS -Zc:rvalueCast -Zc:inline - ) + ) endif() if (MSVC_VERSION GREATER_EQUAL 1899) target_compile_options(PlatformCommonInternal INTERFACE @@ -192,9 +192,13 @@ if (MSVC) target_compile_options(PlatformCommonInternal INTERFACE -Zc:wchar_t) + target_compile_options(PlatformCommonInternal INTERFACE + $<$>:-guard:cf> + ) + target_link_options(PlatformCommonInternal INTERFACE -DYNAMICBASE -NXCOMPAT - $<$>:-OPT:REF -OPT:ICF> + $<$>:-OPT:REF -OPT:ICF -GUARD:CF> ) endif() diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 3cacc8dfde..62d225b14d 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -336,4 +336,13 @@ win32 { } DEFINES *= QT_DEPRECATED_WARNINGS_SINCE=0x060000 +msvc { + QMAKE_CFLAGS_RELEASE += -guard:cf + QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -guard:cf + QMAKE_CXXFLAGS_RELEASE += -guard:cf + QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -guard:cf + QMAKE_LFLAGS_RELEASE += /GUARD:CF + QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += /GUARD:CF +} + TARGET = $$qt5LibraryTarget($$TARGET$$QT_LIBINFIX) # Do this towards the end