Revert "CMake: Fix usage of find_dependency()"

This reverts commit 58c1c6ee5c.

This lead to configuration errors on some machines, blocking
development.

Change-Id: I744f6cc95fbaa273519ab8fc8fb492b87f5729b8
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
This commit is contained in:
Lars Knoll 2020-09-13 12:16:44 +02:00
parent 6e1a570dc8
commit 127fb8bb55
5 changed files with 53 additions and 36 deletions

View File

@ -51,7 +51,7 @@ endif()
# Find required dependencies, if any. # Find required dependencies, if any.
include(CMakeFindDependencyMacro) include(CMakeFindDependencyMacro)
set(@INSTALL_CMAKE_NAMESPACE@_DEPENDENCIES_FOUND FALSE) set(@INSTALL_CMAKE_NAMESPACE@_DEPENDENCIES_FOUND TRUE)
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@Dependencies.cmake") if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@Dependencies.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@Dependencies.cmake") include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@Dependencies.cmake")
endif() endif()

View File

@ -12,7 +12,15 @@ foreach(_target_dep ${_third_party_deps})
list(APPEND find_package_args "${version}") list(APPEND find_package_args "${version}")
endif() endif()
# Already build an error message, because find_dependency calls return() on failure. if(components)
string(REPLACE " " ";" components "${components}")
find_dependency(${find_package_args} COMPONENTS ${components})
else()
find_dependency(${find_package_args})
endif()
if (NOT ${pkg}_FOUND)
set(@INSTALL_CMAKE_NAMESPACE@_DEPENDENCIES_FOUND FALSE)
set(__@INSTALL_CMAKE_NAMESPACE@_message "\nPackage: ${pkg}") set(__@INSTALL_CMAKE_NAMESPACE@_message "\nPackage: ${pkg}")
if(version) if(version)
string(APPEND __@INSTALL_CMAKE_NAMESPACE@_message "\nVersion: ${version}") string(APPEND __@INSTALL_CMAKE_NAMESPACE@_message "\nVersion: ${version}")
@ -22,14 +30,6 @@ foreach(_target_dep ${_third_party_deps})
endif() endif()
set(@INSTALL_CMAKE_NAMESPACE@_DEPENDENCY_NOT_FOUND_MESSAGE set(@INSTALL_CMAKE_NAMESPACE@_DEPENDENCY_NOT_FOUND_MESSAGE
"${__@INSTALL_CMAKE_NAMESPACE@_message}") "${__@INSTALL_CMAKE_NAMESPACE@_message}")
return()
if(components)
string(REPLACE " " ";" components "${components}")
find_dependency(${find_package_args} COMPONENTS ${components})
else()
find_dependency(${find_package_args})
endif() endif()
endforeach() endforeach()
set(@INSTALL_CMAKE_NAMESPACE@_DEPENDENCIES_FOUND TRUE)
unset(@INSTALL_CMAKE_NAMESPACE@_DEPENDENCY_NOT_FOUND_MESSAGE)

View File

@ -1,8 +1,11 @@
# Make sure @INSTALL_CMAKE_NAMESPACE@ is found before anything else. # Make sure @INSTALL_CMAKE_NAMESPACE@ is found before anything else.
set(@INSTALL_CMAKE_NAMESPACE@@target@_FOUND FALSE)
find_dependency(@INSTALL_CMAKE_NAMESPACE@ @PROJECT_VERSION@ find_dependency(@INSTALL_CMAKE_NAMESPACE@ @PROJECT_VERSION@
PATHS "${CMAKE_CURRENT_LIST_DIR}/.." ${QT_EXAMPLES_CMAKE_PREFIX_PATH} NO_DEFAULT_PATH PATHS "${CMAKE_CURRENT_LIST_DIR}/.." ${QT_EXAMPLES_CMAKE_PREFIX_PATH} NO_DEFAULT_PATH
) )
if (NOT @INSTALL_CMAKE_NAMESPACE@_FOUND)
set(@INSTALL_CMAKE_NAMESPACE@@target@_FOUND FALSE)
return()
endif()
# note: _third_party_deps example: "ICU\\;1.0\\;i18n uc data;ZLIB\\;\\;" # note: _third_party_deps example: "ICU\\;1.0\\;i18n uc data;ZLIB\\;\\;"
set(_third_party_deps "@third_party_deps@") set(_third_party_deps "@third_party_deps@")
@ -22,6 +25,11 @@ foreach(_target_dep ${_third_party_deps})
else() else()
find_dependency(${find_package_args}) find_dependency(${find_package_args})
endif() endif()
if (NOT ${pkg}_FOUND)
set(@INSTALL_CMAKE_NAMESPACE@@target@_FOUND FALSE)
return()
endif()
endforeach() endforeach()
# Find Qt tool package. # Find Qt tool package.
@ -39,15 +47,10 @@ foreach(_target_dep ${_tool_deps})
list(GET _target_dep 0 pkg) list(GET _target_dep 0 pkg)
list(GET _target_dep 1 version) list(GET _target_dep 1 version)
unset(find_package_args) find_dependency(${pkg} ${version})
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
list(APPEND find_package_args QUIET)
endif()
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
list(APPEND find_package_args REQUIRED)
endif()
find_package(${pkg} ${version} ${find_package_args})
if (NOT ${pkg}_FOUND) if (NOT ${pkg}_FOUND)
set(@INSTALL_CMAKE_NAMESPACE@@target@_FOUND FALSE)
if(QT_HOST_PATH) if(QT_HOST_PATH)
set(CMAKE_PREFIX_PATH ${BACKUP_@target@_CMAKE_PREFIX_PATH}) set(CMAKE_PREFIX_PATH ${BACKUP_@target@_CMAKE_PREFIX_PATH})
set(CMAKE_FIND_ROOT_PATH ${BACKUP_@target@_CMAKE_FIND_ROOT_PATH}) set(CMAKE_FIND_ROOT_PATH ${BACKUP_@target@_CMAKE_FIND_ROOT_PATH})
@ -71,7 +74,12 @@ foreach(_target_dep ${_target_deps})
PATHS "${CMAKE_CURRENT_LIST_DIR}/.." ${QT_EXAMPLES_CMAKE_PREFIX_PATH} NO_DEFAULT_PATH PATHS "${CMAKE_CURRENT_LIST_DIR}/.." ${QT_EXAMPLES_CMAKE_PREFIX_PATH} NO_DEFAULT_PATH
) )
endif() endif()
if (NOT ${pkg}_FOUND)
set(@INSTALL_CMAKE_NAMESPACE@@target@_FOUND FALSE)
return()
endif()
endforeach() endforeach()
set(_@QT_CMAKE_EXPORT_NAMESPACE@@target@_MODULE_DEPENDENCIES "@qt_module_dependencies@") set(_@QT_CMAKE_EXPORT_NAMESPACE@@target@_MODULE_DEPENDENCIES "@qt_module_dependencies@")
set(@INSTALL_CMAKE_NAMESPACE@@target@_FOUND TRUE)

View File

@ -1,5 +1,4 @@
# Find "ModuleTools" dependencies, which are other ModuleTools packages. # Find "ModuleTools" dependencies, which are other ModuleTools packages.
set(@INSTALL_CMAKE_NAMESPACE@@target@_FOUND FALSE)
set(_tool_deps "@package_deps@") set(_tool_deps "@package_deps@")
foreach(_target_dep ${_tool_deps}) foreach(_target_dep ${_tool_deps})
list(GET _target_dep 0 pkg) list(GET _target_dep 0 pkg)
@ -8,6 +7,10 @@ foreach(_target_dep ${_tool_deps})
if (NOT ${pkg}_FOUND) if (NOT ${pkg}_FOUND)
find_dependency(${pkg} ${version}) find_dependency(${pkg} ${version})
endif() endif()
if (NOT ${pkg}_FOUND)
set(@INSTALL_CMAKE_NAMESPACE@@target@_FOUND FALSE)
return()
endif()
endforeach() endforeach()
set(@INSTALL_CMAKE_NAMESPACE@@target@_FOUND TRUE)

View File

@ -1,5 +1,3 @@
set(@target@_FOUND FALSE)
# note: _third_party_deps example: "ICU\\;1.0\\;i18n uc data;ZLIB\\;\\;" # note: _third_party_deps example: "ICU\\;1.0\\;i18n uc data;ZLIB\\;\\;"
set(_third_party_deps "@third_party_deps@") set(_third_party_deps "@third_party_deps@")
@ -18,6 +16,11 @@ foreach(_target_dep ${_third_party_deps})
else() else()
find_dependency(${find_package_args}) find_dependency(${find_package_args})
endif() endif()
if (NOT ${pkg}_FOUND)
set(@target@_FOUND FALSE)
return()
endif()
endforeach() endforeach()
# note: target_deps example: "Qt6Core\;5.12.0;Qt6Gui\;5.12.0" # note: target_deps example: "Qt6Core\;5.12.0;Qt6Gui\;5.12.0"
@ -31,6 +34,9 @@ foreach(_target_dep ${_target_deps})
PATHS @find_dependency_paths@ ${QT_EXAMPLES_CMAKE_PREFIX_PATH} NO_DEFAULT_PATH PATHS @find_dependency_paths@ ${QT_EXAMPLES_CMAKE_PREFIX_PATH} NO_DEFAULT_PATH
) )
endif() endif()
endforeach()
set(@target@_FOUND TRUE) if (NOT ${pkg}_FOUND)
set(@target@_FOUND FALSE)
return()
endif()
endforeach()