diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2020-02-24 12:38:55 +0100 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2020-02-25 15:43:15 +0100 |
commit | 5838d1f6c357e2c4f298cae8277b9493d628593e (patch) | |
tree | f83e54910ee73a76d404c0194f7ba52dcf478841 /cmake | |
parent | 05a0a278fca7a8df9ab3b357f0e51056db80f85d (diff) |
CMake: Add functions to allow setting symbol visibility flags
Needed for 3rd party library code.
Change-Id: Ib994de1980515e849d4368249024d3d5e064fb46
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/QtBuild.cmake | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake index 4cc14588d7..7f1bdd0ac7 100644 --- a/cmake/QtBuild.cmake +++ b/cmake/QtBuild.cmake @@ -1431,6 +1431,20 @@ function(qt_disable_warnings target) set_target_properties("${target}" PROPERTIES QT_COMPILE_OPTIONS_DISABLE_WARNINGS ON) endfunction() +function(qt_set_symbol_visibility_preset target value) + get_target_property(target_type "${target}" TYPE) + if(target_type STREQUAL "INTERFACE_LIBRARY") + return() + endif() + + set_target_properties("${target}" PROPERTIES C_VISIBILITY_PRESET "${value}") + set_target_properties("${target}" PROPERTIES CXX_VISIBILITY_PRESET "${value}") +endfunction() + +function(qt_set_symbol_visibility_hidden target) + qt_set_symbol_visibility_preset("${target}" "hidden") +endfunction() + function(qt_get_sanitized_plugin_type plugin_type out_var) # Used to handle some edge cases such as platforms/darwin string(REGEX REPLACE "[-/]" "_" plugin_type "${plugin_type}") |