diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2022-07-19 13:20:06 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2022-07-26 12:03:44 +0200 |
commit | df5b902b5ba4b82430be7d63b135d8fbc61d7ff4 (patch) | |
tree | efa56c4f37ccc0398c38ed0c4c49596e92f0a05a /cmake | |
parent | bb550bb6c28996ca1efaa3b040c350e4d3aeaf36 (diff) |
CMake: Export a few useful Qt module target properties
These include:
_qt_package_name
_qt_is_public_module
_qt_is_private_module
_qt_public_module_target_name
_qt_private_module_target_name
Task-number: QTBUG-104998
Change-Id: I012463944de8fc333f477a7880f9d27a69d6ef47
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 6235f7fa62aab5c0e002fa2f93f46508f38b5472)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/QtModuleHelpers.cmake | 42 |
1 files changed, 37 insertions, 5 deletions
diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake index 835a0f679c..81c088fe23 100644 --- a/cmake/QtModuleHelpers.cmake +++ b/cmake/QtModuleHelpers.cmake @@ -95,7 +95,9 @@ function(qt_internal_add_module target) ${ARGN} ) + set(is_internal_module FALSE) if(arg_INTERNAL_MODULE) + set(is_internal_module TRUE) set(arg_INTERNAL_MODULE "INTERNAL_MODULE") set(arg_NO_PRIVATE_MODULE TRUE) # Assume the interface name of the internal module should be the module name without the @@ -154,10 +156,31 @@ function(qt_internal_add_module target) set_target_properties(${target} PROPERTIES _qt_module_interface_name "${arg_MODULE_INTERFACE_NAME}" _qt_package_version "${PROJECT_VERSION}" + _qt_package_name "${INSTALL_CMAKE_NAMESPACE}${target}" ) - set_property(TARGET ${target} - APPEND PROPERTY - EXPORT_PROPERTIES "_qt_module_interface_name;_qt_package_version") + set(export_properties + "_qt_module_interface_name" + "_qt_package_version" + "_qt_package_name" + ) + if(NOT is_internal_module) + set_target_properties(${target} PROPERTIES + _qt_is_public_module TRUE + ) + list(APPEND export_properties + "_qt_is_public_module" + ) + if(NOT ${arg_NO_PRIVATE_MODULE}) + set_target_properties(${target} PROPERTIES + _qt_private_module_target_name "${target}Private" + ) + list(APPEND export_properties + "_qt_private_module_target_name" + ) + endif() + endif() + + set_property(TARGET ${target} APPEND PROPERTY EXPORT_PROPERTIES "${export_properties}") qt_internal_module_info(module "${target}") qt_internal_add_qt_repo_known_module("${target}") @@ -243,10 +266,19 @@ function(qt_internal_add_module target) set_target_properties(${target_private} PROPERTIES _qt_config_module_name ${arg_CONFIG_MODULE_NAME}_private _qt_package_version "${PROJECT_VERSION}" + _qt_package_name "${INSTALL_CMAKE_NAMESPACE}${target}" + _qt_is_private_module TRUE + _qt_public_module_target_name "${target}" ) - set_property(TARGET "${target_private}" APPEND PROPERTY - EXPORT_PROPERTIES "_qt_config_module_name;_qt_package_version" + set(export_properties + "_qt_config_module_name" + "_qt_package_version" + "_qt_package_name" + "_qt_is_private_module" + "_qt_public_module_target_name" ) + set_property(TARGET "${target_private}" APPEND PROPERTY + EXPORT_PROPERTIES "${export_properties}") endif() if(NOT arg_HEADER_MODULE) |