diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2021-07-15 13:04:15 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2021-07-16 09:52:24 +0200 |
commit | 3595613a0a285120b1c475e7c350a0de871e89aa (patch) | |
tree | 7ba00ca3aa8793c7b499b1d9fb712a41cf7802d3 /cmake/QtTargetHelpers.cmake | |
parent | 616c32be04b8cee16354283d22dfe5cef890d435 (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
Pick-to: 6.2
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>
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() |