diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2020-06-18 10:07:39 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2020-06-18 11:51:41 +0200 |
commit | 976fa5134aea52741df7b25a196fa36251dc932f (patch) | |
tree | f6603665d7ba06465f44437862970d83af5f5663 /cmake | |
parent | 8b701f9bd92c62aaba3d652e95b0e3e04e8e847d (diff) |
CMake: Use intelcet flags for bootstrap and qmake
This should fix build failures on Ubuntu 20.04.
Amends fa98adbd04de9d44ce921436b92589a41f285dcd
Change-Id: Iff399faff0cf06f5b88d756b1f632b8798069578
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/QtBuild.cmake | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake index ebb4841844..95a84f7fc0 100644 --- a/cmake/QtBuild.cmake +++ b/cmake/QtBuild.cmake @@ -1494,6 +1494,25 @@ function(qt_internal_apply_gc_binaries target visibility) endif() endfunction() +function(qt_internal_apply_intel_cet target visibility) + if(NOT QT_FEATURE_intelcet) + return() + endif() + + set(possible_visibilities PRIVATE INTERFACE PUBLIC) + list(FIND possible_visibilities "${visibility}" known_visibility) + if (known_visibility EQUAL "-1") + message(FATAL_ERROR "Visibitily setting must be one of PRIVATE, INTERFACE or PUBLIC.") + endif() + + if(GCC) + set(flags "-mshstk") + endif() + if(flags) + target_compile_options("${target}" ${visibility} "${flags}") + endif() +endfunction() + function(qt_internal_add_linker_version_script target) qt_parse_all_arguments(arg "qt_internal_add_linker" "INTERNAL" "" "PRIVATE_HEADERS" ${ARGN}) |