From a3cb002511d7e2cc73234611795c1947620aedd5 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Fri, 11 Sep 2020 13:55:13 +0200 Subject: [PATCH] CMake: Reduce the number of find_dependency calls ...in code. The actual number of calls at runtime does not change. The reason for this stunt is that we want to replace find_dependency with find_package at runtime for optional dependencies, and this will reduce the diff size of the next commit. Change-Id: I304fdf09c69fea7b6d4adabf515712eb097f8c86 Reviewed-by: Alexandru Croitor --- cmake/QtConfigDependencies.cmake.in | 11 +++++------ cmake/QtModuleDependencies.cmake.in | 7 +++---- cmake/QtPluginDependencies.cmake.in | 7 +++---- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/cmake/QtConfigDependencies.cmake.in b/cmake/QtConfigDependencies.cmake.in index e16d7259286..49e08b7ba6d 100644 --- a/cmake/QtConfigDependencies.cmake.in +++ b/cmake/QtConfigDependencies.cmake.in @@ -11,6 +11,10 @@ foreach(_target_dep ${_third_party_deps}) if(version) list(APPEND find_package_args "${version}") endif() + if(components) + string(REPLACE " " ";" components "${components}") + list(APPEND find_package_args COMPONENTS ${components}) + endif() # Already build an error message, because find_dependency calls return() on failure. set(__@INSTALL_CMAKE_NAMESPACE@_message "\nPackage: ${pkg}") @@ -23,12 +27,7 @@ foreach(_target_dep ${_third_party_deps}) set(@INSTALL_CMAKE_NAMESPACE@_DEPENDENCY_NOT_FOUND_MESSAGE "${__@INSTALL_CMAKE_NAMESPACE@_message}") - if(components) - string(REPLACE " " ";" components "${components}") - find_dependency(${find_package_args} COMPONENTS ${components}) - else() - find_dependency(${find_package_args}) - endif() + find_dependency(${find_package_args}) endforeach() set(@INSTALL_CMAKE_NAMESPACE@_DEPENDENCIES_FOUND TRUE) diff --git a/cmake/QtModuleDependencies.cmake.in b/cmake/QtModuleDependencies.cmake.in index 80c5202c9ab..3d19fac7841 100644 --- a/cmake/QtModuleDependencies.cmake.in +++ b/cmake/QtModuleDependencies.cmake.in @@ -15,13 +15,12 @@ foreach(_target_dep ${_third_party_deps}) if(version) list(APPEND find_package_args "${version}") endif() - if(components) string(REPLACE " " ";" components "${components}") - find_dependency(${find_package_args} COMPONENTS ${components}) - else() - find_dependency(${find_package_args}) + list(APPEND find_package_args COMPONENTS ${components}) endif() + + find_dependency(${find_package_args}) endforeach() # Find Qt tool package. diff --git a/cmake/QtPluginDependencies.cmake.in b/cmake/QtPluginDependencies.cmake.in index ce64b096bbb..bae6d85c7b4 100644 --- a/cmake/QtPluginDependencies.cmake.in +++ b/cmake/QtPluginDependencies.cmake.in @@ -11,13 +11,12 @@ foreach(_target_dep ${_third_party_deps}) if(version) list(APPEND find_package_args "${version}") endif() - if(components) string(REPLACE " " ";" components "${components}") - find_dependency(${find_package_args} COMPONENTS ${components}) - else() - find_dependency(${find_package_args}) + list(APPEND find_package_args COMPONENTS ${components}) endif() + + find_dependency(${find_package_args}) endforeach() # note: target_deps example: "Qt6Core\;5.12.0;Qt6Gui\;5.12.0"