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 <alexandru.croitor@qt.io>
This commit is contained in:
Joerg Bornemann 2020-09-11 13:55:13 +02:00
parent 58c1c6ee5c
commit a3cb002511
3 changed files with 11 additions and 14 deletions

View File

@ -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)

View File

@ -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.

View File

@ -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"