diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2021-07-15 13:04:15 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-07-16 15:09:58 +0000 |
commit | a3c9f5c101539bd5dbd9f17bc204ea4951d20412 (patch) | |
tree | 2d90be0604ec77163626d5b0ee06e34346f58383 /cmake/QtTargetHelpers.cmake | |
parent | e21921230a818b571ee19150e3041173dd39db3b (diff) |
CMake: Don't propagate -fapplication-extension to user projects
Both the compiler and linker -fapplication-extension flag should only
be applied when building Qt's libraries (not executables).
It's up to the user project whether their code will be restricted with
application-extension-only APIs.
In qmake that can be achieved by adding to the qmake project
CONFIG += app_extension_api_only
In CMake it can be achieved by either adding the compiler and link flags
in the project directly (using target_X_options) or by setting the
appropriate setting in the Xcode project when using the Xcode
generator.
Amends e189126f1ae1d2fa2ad0f95ee2c4aa72c770a97b
Task-number: QTBUG-95199
Change-Id: Ie7a764d460a89c7650391abff0fcc5abfcabef64
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 3595613a0a285120b1c475e7c350a0de871e89aa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'cmake/QtTargetHelpers.cmake')
-rw-r--r-- | cmake/QtTargetHelpers.cmake | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/cmake/QtTargetHelpers.cmake b/cmake/QtTargetHelpers.cmake index af775ca514..9c1d0c5157 100644 --- a/cmake/QtTargetHelpers.cmake +++ b/cmake/QtTargetHelpers.cmake @@ -753,3 +753,12 @@ function(qt_internal_adjust_main_config_runtime_output_dir target output_dir) RUNTIME_OUTPUT_DIRECTORY_${main_cmake_configuration} "${output_dir}" ) endfunction() + +# Marks a target with a property that it is a library (shared or static) which was built using the +# internal Qt API (qt_internal_add_module, qt_internal_add_plugin, etc) as opposed to it being +# a user project library (qt_add_library, qt_add_plugin, etc). +# +# Needed to allow selectively applying certain flags via PlatformXInternal targets. +function(qt_internal_mark_as_internal_library target) + set_target_properties(${target} PROPERTIES _qt_is_internal_library TRUE) +endfunction() |