From 432083949e395c9fb7a48cf78d0786f8c27ab0ed Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Tue, 13 Sep 2022 17:23:55 +0200 Subject: [PATCH] CMake: Move __qt_internal_prefix_paths_to_roots MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move it into QtPublicCMakeHelpers.cmake so it is available also when configuring qtbase and the Qt6Config.cmake file is not yet loaded. Task-number: QTBUG-90820 Task-number: QTBUG-96232 Change-Id: I88127fe0439ae26af1d125eb584244d315574a48 Reviewed-by: Jörg Bornemann (cherry picked from commit 828e402a1904c25dc5ea9fa915a5da8559e08560) Reviewed-by: Alexey Edelev Reviewed-by: Amir Masoud Abdol --- cmake/QtConfig.cmake.in | 20 +++----------------- cmake/QtPublicCMakeHelpers.cmake | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/cmake/QtConfig.cmake.in b/cmake/QtConfig.cmake.in index fd08b2f181a..db86d418ae7 100644 --- a/cmake/QtConfig.cmake.in +++ b/cmake/QtConfig.cmake.in @@ -48,23 +48,6 @@ elseif(APPLE AND CMAKE_SYSTEM_NAME STREQUAL "iOS") list(APPEND CMAKE_MODULE_PATH "${__qt_internal_cmake_ios_support_files_path}") endif() -# Take a list of prefix paths ending with "/lib/cmake", and return a list of absolute paths with -# "/lib/cmake" removed. -function(__qt_internal_prefix_paths_to_roots out_var prefix_paths) - set(result "") - foreach(path IN LISTS prefix_paths) - if(path MATCHES "/lib/cmake$") - string(APPEND path "/../..") - endif() - get_filename_component(path "${path}" ABSOLUTE) - list(APPEND result "${path}") - endforeach() - set("${out_var}" "${result}" PARENT_SCOPE) -endfunction() - -__qt_internal_prefix_paths_to_roots(_qt_additional_host_packages_root_paths - "${_qt_additional_host_packages_prefix_paths}") - # Public helpers available to all Qt packages. include("${CMAKE_CURRENT_LIST_DIR}/QtFeature.cmake") include("${CMAKE_CURRENT_LIST_DIR}/QtPublicFinalizerHelpers.cmake") @@ -85,6 +68,9 @@ __qt_internal_collect_additional_prefix_paths(_qt_additional_packages_prefix_pat __qt_internal_collect_additional_prefix_paths(_qt_additional_host_packages_prefix_paths QT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH) +__qt_internal_prefix_paths_to_roots(_qt_additional_host_packages_root_paths + "${_qt_additional_host_packages_prefix_paths}") + if(NOT DEFINED QT_CMAKE_EXPORT_NAMESPACE) set(QT_CMAKE_EXPORT_NAMESPACE @QT_CMAKE_EXPORT_NAMESPACE@) endif() diff --git a/cmake/QtPublicCMakeHelpers.cmake b/cmake/QtPublicCMakeHelpers.cmake index d18312000f9..1eba06a9ddc 100644 --- a/cmake/QtPublicCMakeHelpers.cmake +++ b/cmake/QtPublicCMakeHelpers.cmake @@ -60,3 +60,17 @@ function(__qt_internal_collect_additional_prefix_paths out_var prefixes_var) set("${out_var}" "${additional_packages_prefix_paths}" PARENT_SCOPE) endfunction() + +# Take a list of prefix paths ending with "/lib/cmake", and return a list of absolute paths with +# "/lib/cmake" removed. +function(__qt_internal_prefix_paths_to_roots out_var prefix_paths) + set(result "") + foreach(path IN LISTS prefix_paths) + if(path MATCHES "/lib/cmake$") + string(APPEND path "/../..") + endif() + get_filename_component(path "${path}" ABSOLUTE) + list(APPEND result "${path}") + endforeach() + set("${out_var}" "${result}" PARENT_SCOPE) +endfunction()