From dac4d5a4927316303c2a70039728d57f4309de90 Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Thu, 21 Jan 2021 11:17:58 +0100 Subject: Clear non-relevant CMake compiler flags Add internal function to cleanup compiler flags out of the CMAKE_xxx_FLAGS_xxx variables. Use introduced interface to clear the '/EHsc' flag for the MSVC compiler family. This adjusts the CMake behavior to the qmake one. Change the 'EXCEPTIONS' option handling in helper functions. Add ability to add enabling and disabling exception flags. Previously it was only possible to add disabling exception flags. Fixes: QTBUG-89952 Change-Id: I60d47660a97ae9b5a1d1f4107d352c9e97890144 Reviewed-by: Craig Scott Reviewed-by: Joerg Bornemann --- cmake/QtModuleHelpers.cmake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'cmake/QtModuleHelpers.cmake') diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake index 834c2ec73e..597895b7b6 100644 --- a/cmake/QtModuleHelpers.cmake +++ b/cmake/QtModuleHelpers.cmake @@ -406,8 +406,10 @@ function(qt_internal_add_module target) # thus we can't use qt_internal_extend_target()'s PUBLIC_DEFINES option. target_compile_definitions(${target} INTERFACE QT_${module_define_infix}_LIB) - if(NOT ${arg_EXCEPTIONS} AND NOT ${arg_HEADER_MODULE}) - qt_internal_set_no_exceptions_flags("${target}") + if(NOT arg_EXCEPTIONS AND NOT ${arg_HEADER_MODULE}) + qt_internal_set_exceptions_flags("${target}" FALSE) + elseif(arg_EXCEPTIONS) + qt_internal_set_exceptions_flags("${target}" TRUE) endif() set(configureFile "${CMAKE_CURRENT_SOURCE_DIR}/configure.cmake") -- cgit v1.2.3