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>
This commit is contained in:
parent
e9c45bbddd
commit
8cea61e14d
@ -9,7 +9,7 @@ function(qt_internal_write_depends_file target)
|
|||||||
endforeach()
|
endforeach()
|
||||||
string(APPEND contents "#endif\n")
|
string(APPEND contents "#endif\n")
|
||||||
|
|
||||||
file(GENERATE OUTPUT ${outfile} CONTENT ${contents})
|
file(GENERATE OUTPUT "${outfile}" CONTENT "${contents}")
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function(qt_internal_create_depends_files)
|
function(qt_internal_create_depends_files)
|
||||||
@ -17,11 +17,24 @@ function(qt_internal_create_depends_files)
|
|||||||
foreach (target ${KNOWN_QT_MODULES})
|
foreach (target ${KNOWN_QT_MODULES})
|
||||||
get_target_property(depends "${target}" LINK_LIBRARIES)
|
get_target_property(depends "${target}" LINK_LIBRARIES)
|
||||||
foreach (dep ${depends})
|
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)
|
list(FIND KNOWN_QT_MODULES "${dep}" _pos)
|
||||||
if (_pos GREATER -1)
|
if (_pos GREATER -1)
|
||||||
list(APPEND qtdeps "${dep}")
|
list(APPEND qtdeps "${dep}")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
if (DEFINED qtdeps)
|
||||||
|
list(REMOVE_DUPLICATES qtdeps)
|
||||||
|
endif()
|
||||||
|
|
||||||
get_target_property(hasModuleHeaders "${target}" MODULE_HAS_HEADERS)
|
get_target_property(hasModuleHeaders "${target}" MODULE_HAS_HEADERS)
|
||||||
if (${hasModuleHeaders})
|
if (${hasModuleHeaders})
|
||||||
qt_internal_write_depends_file("${target}" ${qtdeps})
|
qt_internal_write_depends_file("${target}" ${qtdeps})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user