diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2018-10-30 15:25:53 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2018-11-01 11:48:55 +0000 |
commit | 8cea61e14d8425c7842b5fa85ca1883aca0df63c (patch) | |
tree | c7331e3d8f71f912ec283919077c71d1c24a84ff /cmake/QtPostProcess.cmake | |
parent | e9c45bbdddd4df005bdaa5eea9740d351e6eaea2 (diff) |
QtPostProcess: Fix generation of *Depends header files
Normalize Qt module names before trying to match them. Deduplicate the
names while at it.
Change-Id: I5821c34fe5904cf9e9b986ac3ae4af2b248466b7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'cmake/QtPostProcess.cmake')
-rw-r--r-- | cmake/QtPostProcess.cmake | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/cmake/QtPostProcess.cmake b/cmake/QtPostProcess.cmake index 5e563d4c91..48de9ef396 100644 --- a/cmake/QtPostProcess.cmake +++ b/cmake/QtPostProcess.cmake @@ -9,7 +9,7 @@ function(qt_internal_write_depends_file target) endforeach() string(APPEND contents "#endif\n") - file(GENERATE OUTPUT ${outfile} CONTENT ${contents}) + file(GENERATE OUTPUT "${outfile}" CONTENT "${contents}") endfunction() function(qt_internal_create_depends_files) @@ -17,11 +17,24 @@ function(qt_internal_create_depends_files) foreach (target ${KNOWN_QT_MODULES}) get_target_property(depends "${target}" LINK_LIBRARIES) foreach (dep ${depends}) + # Normalize module by stripping leading "Qt::" and trailing "Private" + if (dep MATCHES "Qt::(.*)") + set(dep "${CMAKE_MATCH_1}") + endif() + if (dep MATCHES "(.*)Private") + set(dep "${CMAKE_MATCH_1}") + endif() + list(FIND KNOWN_QT_MODULES "${dep}" _pos) if (_pos GREATER -1) list(APPEND qtdeps "${dep}") endif() endforeach() + + if (DEFINED qtdeps) + list(REMOVE_DUPLICATES qtdeps) + endif() + get_target_property(hasModuleHeaders "${target}" MODULE_HAS_HEADERS) if (${hasModuleHeaders}) qt_internal_write_depends_file("${target}" ${qtdeps}) |