summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2022-07-19 13:20:06 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2022-07-26 12:03:44 +0200
commitdf5b902b5ba4b82430be7d63b135d8fbc61d7ff4 (patch)
treeefa56c4f37ccc0398c38ed0c4c49596e92f0a05a /cmake
parentbb550bb6c28996ca1efaa3b040c350e4d3aeaf36 (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.cmake42
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)