summaryrefslogtreecommitdiffstats
path: root/cmake/qt.toolchain.cmake.in
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2022-07-18 16:09:30 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2022-07-25 19:52:25 +0200
commit0f8017efb6d037c4f33f947eb3c56aeafa28313c (patch)
tree78ea843629b21b699cdb02c3a659f53e9aef27d2 /cmake/qt.toolchain.cmake.in
parent7b24ffa936880619f54c8cc1a459a0328238657c (diff)
CMake: Move QT_HOST_PATH check and computation into Qt6 package
Instead of trying to compute and validate the QT_HOST_PATH and QT_HOST_PATH_CMAKE_DIR variables in the generated toolchain file, do it in the Qt6 package. This provides better error messages when a project is configured without using the Qt generated toolchain file. Because it's not done in the toolchain anymore, remove the various host variables from __qt_toolchain_used_variables. Pick-to: 6.4 Task-number: QTBUG-104998 Change-Id: I1ca239ff83b8f783897e171fee352fc43e8ad7a8 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Diffstat (limited to 'cmake/qt.toolchain.cmake.in')
-rw-r--r--cmake/qt.toolchain.cmake.in71
1 files changed, 0 insertions, 71 deletions
diff --git a/cmake/qt.toolchain.cmake.in b/cmake/qt.toolchain.cmake.in
index e20fb6c1b3..15cf7a432e 100644
--- a/cmake/qt.toolchain.cmake.in
+++ b/cmake/qt.toolchain.cmake.in
@@ -3,11 +3,7 @@ set(__qt_toolchain_used_variables
QT_TOOLCHAIN_INCLUDE_FILE
QT_TOOLCHAIN_RELOCATABLE_CMAKE_DIR
QT_TOOLCHAIN_RELOCATABLE_PREFIX
- QT_HOST_PATH
- QT_HOST_PATH_CMAKE_DIR
- QT_REQUIRE_HOST_PATH_CHECK
QT_ADDITIONAL_PACKAGES_PREFIX_PATH
- QT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH
)
@init_additional_used_variables@
@@ -154,73 +150,6 @@ if(QT_TOOLCHAIN_INCLUDE_FILE)
endif()
endif()
-# Set up QT_HOST_PATH and do sanity checks.
-# A host path is required when cross-compiling but optional when doing a native build.
-# Requiredness can be overridden via variable.
-if(DEFINED QT_REQUIRE_HOST_PATH_CHECK)
- set(__qt_toolchain_host_path_required "${QT_REQUIRE_HOST_PATH_CHECK}")
-else()
- set(__qt_toolchain_host_path_required "@qt_host_path_required@")
-endif()
-set(__qt_toolchain_initial_qt_host_path
- "@qt_host_path_absolute@")
-set(__qt_toolchain_initial_qt_host_path_cmake_dir
- "@qt_host_path_cmake_dir_absolute@")
-
-# QT_HOST_PATH precedence:
-# - cache variable / command line option
-# - environment variable
-# - initial QT_HOST_PATH when qtbase was configured (and the directory exists)
-if(NOT DEFINED QT_HOST_PATH)
- if(DEFINED ENV{QT_HOST_PATH})
- set(QT_HOST_PATH "$ENV{QT_HOST_PATH}" CACHE PATH "")
- else(__qt_toolchain_initial_qt_host_path AND EXISTS "${__qt_toolchain_initial_qt_host_path}")
- set(QT_HOST_PATH "${__qt_toolchain_initial_qt_host_path}" CACHE PATH "")
- endif()
-endif()
-
-if(NOT QT_HOST_PATH STREQUAL "")
- get_filename_component(__qt_toolchain_host_path_absolute "${QT_HOST_PATH}" ABSOLUTE)
-endif()
-
-if(__qt_toolchain_host_path_required AND
- ("${QT_HOST_PATH}" STREQUAL "" OR NOT EXISTS "${__qt_toolchain_host_path_absolute}"))
- message(FATAL_ERROR
- "To use a cross-compiled Qt, please set the QT_HOST_PATH cache variable to the location "
- "of your host Qt installation.")
-endif()
-
-# QT_HOST_PATH_CMAKE_DIR is needed to work around the rerooting issue when looking for host tools
-# See REROOT_PATH_ISSUE_MARKER.
-# Prefer initially configured path if none was explicitly set.
-if(__qt_toolchain_host_path_required AND NOT DEFINED QT_HOST_PATH_CMAKE_DIR)
- if(__qt_toolchain_initial_qt_host_path_cmake_dir
- AND EXISTS "${__qt_toolchain_initial_qt_host_path_cmake_dir}")
- set(QT_HOST_PATH_CMAKE_DIR "${__qt_toolchain_initial_qt_host_path_cmake_dir}" CACHE PATH "")
- else()
- # First try to auto-compute the location instead of requiring to set QT_HOST_PATH_CMAKE_DIR
- # explicitly.
- set(__qt_candidate_host_path_cmake_dir "${QT_HOST_PATH}/lib/cmake")
- if(__qt_candidate_host_path_cmake_dir AND EXISTS "${__qt_candidate_host_path_cmake_dir}")
- set(QT_HOST_PATH_CMAKE_DIR
- "${__qt_candidate_host_path_cmake_dir}" CACHE PATH "")
- endif()
- endif()
-endif()
-
-if(NOT QT_HOST_PATH_CMAKE_DIR STREQUAL "")
- get_filename_component(__qt_toolchain_host_path_cmake_dir_absolute
- "${QT_HOST_PATH_CMAKE_DIR}" ABSOLUTE)
-endif()
-
-if(__qt_toolchain_host_path_required AND
- ("${QT_HOST_PATH_CMAKE_DIR}" STREQUAL ""
- OR NOT EXISTS "${__qt_toolchain_host_path_cmake_dir_absolute}"))
- message(FATAL_ERROR
- "To use a cross-compiled Qt, please set the QT_HOST_PATH_CMAKE_DIR cache variable to "
- "the location of your host Qt installation lib/cmake directory.")
-endif()
-
# Store initial build type (if any is specified) to be read by QtBuildInternals.cmake when building
# a Qt repo, standalone tests or a single test.
if(DEFINED CACHE{CMAKE_BUILD_TYPE})