summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2020-11-17 22:01:09 +0100
committerJoerg Bornemann <joerg.bornemann@qt.io>2020-11-19 06:28:10 +0100
commite0d709d8d3535a897de359eb9a0f33867b5ae040 (patch)
tree537cc43a4934dfe5a6ea209995b16236b347b899 /cmake
parentd41eed01a4b2444cc68f6d482ff76a70c9abbc58 (diff)
CMake: Fix missing dependencies in *Depends headers
In qt_internal_create_module_depends_file we're checking the target property INTERFACE_MODULE_HAS_HEADERS. However, this property is not exported, and in per-repo builds we do not have access to this. As we cannot export INTERFACE_* properties, we export another one, called _qt_module_has_headers. This amends commit 598e873c84e6544aa67495b9b9fb1ff22f98a293. Fixes: QTBUG-88503 Change-Id: I04b3e24add6e95b577a049c80683b7361ff72f59 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/QtModuleHelpers.cmake9
-rw-r--r--cmake/QtPostProcessHelpers.cmake8
2 files changed, 14 insertions, 3 deletions
diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake
index a628ac923d..1a482ff81b 100644
--- a/cmake/QtModuleHelpers.cmake
+++ b/cmake/QtModuleHelpers.cmake
@@ -158,8 +158,11 @@ function(qt_internal_add_module target)
endif()
# Module headers:
+ set_property(TARGET "${target}" APPEND PROPERTY EXPORT_PROPERTIES _qt_module_has_headers)
if(${arg_NO_MODULE_HEADERS} OR ${arg_NO_SYNC_QT})
- set_target_properties("${target}" PROPERTIES INTERFACE_MODULE_HAS_HEADERS OFF)
+ set_target_properties("${target}" PROPERTIES
+ INTERFACE_MODULE_HAS_HEADERS OFF
+ _qt_module_has_headers OFF)
else()
set_target_properties("${target}" PROPERTIES INTERFACE_MODULE_INCLUDE_NAME "${module_include_name}")
@@ -178,7 +181,9 @@ function(qt_internal_add_module target)
message(STATUS "Running syncqt for module: '${module_include_name}' ")
execute_process(COMMAND ${syncqt_full_command})
- set_target_properties("${target}" PROPERTIES INTERFACE_MODULE_HAS_HEADERS ON)
+ set_target_properties("${target}" PROPERTIES
+ INTERFACE_MODULE_HAS_HEADERS ON
+ _qt_module_has_headers ON)
### FIXME: Can we replace headers.pri?
set(module_include_dir "${QT_BUILD_DIR}/include/${module_include_name}")
diff --git a/cmake/QtPostProcessHelpers.cmake b/cmake/QtPostProcessHelpers.cmake
index 597e59be07..09a5b96479 100644
--- a/cmake/QtPostProcessHelpers.cmake
+++ b/cmake/QtPostProcessHelpers.cmake
@@ -139,7 +139,13 @@ function(qt_internal_create_module_depends_file target)
continue()
endif()
else()
- get_target_property(module_has_headers Qt::${dep} INTERFACE_MODULE_HAS_HEADERS)
+ get_target_property(is_versionless_target Qt::${dep} _qt_is_versionless_target)
+ if(is_versionless_target)
+ get_target_property(module_has_headers ${QT_CMAKE_EXPORT_NAMESPACE}::${dep}
+ _qt_module_has_headers)
+ else()
+ get_target_property(module_has_headers Qt::${dep} _qt_module_has_headers)
+ endif()
if (NOT module_has_headers)
continue()
endif()