diff options
-rw-r--r-- | cmake/QtConfig.cmake.in | 10 | ||||
-rw-r--r-- | cmake/QtModuleDependencies.cmake.in | 6 | ||||
-rw-r--r-- | cmake/QtPlatformAndroid.cmake | 4 | ||||
-rw-r--r-- | cmake/QtSetup.cmake | 5 | ||||
-rw-r--r-- | cmake/QtSyncQtHelpers.cmake | 2 | ||||
-rw-r--r-- | cmake/QtTargetHelpers.cmake | 2 | ||||
-rw-r--r-- | cmake/QtToolchainHelpers.cmake | 6 | ||||
-rw-r--r-- | src/corelib/Qt6AndroidMacros.cmake | 6 | ||||
-rw-r--r-- | src/gui/CMakeLists.txt | 2 |
9 files changed, 27 insertions, 16 deletions
diff --git a/cmake/QtConfig.cmake.in b/cmake/QtConfig.cmake.in index a43583e4cb..57c252091d 100644 --- a/cmake/QtConfig.cmake.in +++ b/cmake/QtConfig.cmake.in @@ -19,6 +19,16 @@ else() QT_VERSION_PATCH @PROJECT_VERSION_PATCH@) endif() +if(NOT "${QT_HOST_PATH}" STREQUAL "") + find_package(Qt@PROJECT_VERSION_MAJOR@HostInfo + CONFIG + REQUIRED + PATHS "${QT_HOST_PATH}" + "${QT_HOST_PATH_CMAKE_DIR}" + NO_CMAKE_FIND_ROOT_PATH + NO_DEFAULT_PATH) +endif() + # if (NOT @INSTALL_CMAKE_NAMESPACE@_FIND_COMPONENTS) # set(@INSTALL_CMAKE_NAMESPACE@_NOT_FOUND_MESSAGE "The Qt package requires at least one component") # set(@INSTALL_CMAKE_NAMESPACE@_FOUND False) diff --git a/cmake/QtModuleDependencies.cmake.in b/cmake/QtModuleDependencies.cmake.in index 01cf9d5b3c..8f7960059a 100644 --- a/cmake/QtModuleDependencies.cmake.in +++ b/cmake/QtModuleDependencies.cmake.in @@ -43,7 +43,7 @@ endforeach() # Find Qt tool package. set(_tool_deps "@main_module_tool_deps@") -if(QT_HOST_PATH) +if(NOT "${QT_HOST_PATH}" STREQUAL "") # Make sure that the tools find the host tools first set(BACKUP_@target@_CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}) set(BACKUP_@target@_CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH}) @@ -64,14 +64,14 @@ foreach(_target_dep ${_tool_deps}) endif() find_package(${pkg} ${version} ${find_package_args}) if (NOT ${pkg}_FOUND) - if(QT_HOST_PATH) + if(NOT "${QT_HOST_PATH}" STREQUAL "") set(CMAKE_PREFIX_PATH ${BACKUP_@target@_CMAKE_PREFIX_PATH}) set(CMAKE_FIND_ROOT_PATH ${BACKUP_@target@_CMAKE_FIND_ROOT_PATH}) endif() return() endif() endforeach() -if(QT_HOST_PATH) +if(NOT "${QT_HOST_PATH}" STREQUAL "") set(CMAKE_PREFIX_PATH ${BACKUP_@target@_CMAKE_PREFIX_PATH}) set(CMAKE_FIND_ROOT_PATH ${BACKUP_@target@_CMAKE_FIND_ROOT_PATH}) endif() diff --git a/cmake/QtPlatformAndroid.cmake b/cmake/QtPlatformAndroid.cmake index 517b442873..1bca423d9e 100644 --- a/cmake/QtPlatformAndroid.cmake +++ b/cmake/QtPlatformAndroid.cmake @@ -127,8 +127,8 @@ define_property(TARGET # Returns test execution arguments for Android targets function(qt_internal_android_test_arguments target out_test_runner out_test_arguments) - set(${out_test_runner} "${QT_HOST_PATH}/bin/androidtestrunner" PARENT_SCOPE) - set(deployment_tool "${QT_HOST_PATH}/bin/androiddeployqt") + set(${out_test_runner} "${QT_HOST_PATH}/${QT${PROJECT_VERSION_MAJOR}_HOST_INFO_BINDIR}/androidtestrunner" PARENT_SCOPE) + set(deployment_tool "${QT_HOST_PATH}/${QT${PROJECT_VERSION_MAJOR}_HOST_INFO_BINDIR}/androiddeployqt") get_target_property(deployment_file ${target} QT_ANDROID_DEPLOYMENT_SETTINGS_FILE) if (NOT deployment_file) diff --git a/cmake/QtSetup.cmake b/cmake/QtSetup.cmake index 13daf40381..e08ce69947 100644 --- a/cmake/QtSetup.cmake +++ b/cmake/QtSetup.cmake @@ -174,11 +174,12 @@ if (CMAKE_CROSSCOMPILING) endif() endif() -if(QT_HOST_PATH) +if(NOT "${QT_HOST_PATH}" STREQUAL "") find_package(Qt${PROJECT_VERSION_MAJOR}HostInfo CONFIG REQUIRED - PATHS "${QT_HOST_PATH}" "${QT_HOST_PATH}/lib/cmake" + PATHS "${QT_HOST_PATH}" + "${QT_HOST_PATH_CMAKE_DIR}" NO_CMAKE_FIND_ROOT_PATH NO_DEFAULT_PATH) endif() diff --git a/cmake/QtSyncQtHelpers.cmake b/cmake/QtSyncQtHelpers.cmake index c8d89d64ee..91ed7f2832 100644 --- a/cmake/QtSyncQtHelpers.cmake +++ b/cmake/QtSyncQtHelpers.cmake @@ -27,7 +27,7 @@ function(qt_ensure_sync_qt) qt_path_join(syncqt_install_dir ${QT_INSTALL_DIR} ${INSTALL_BINDIR}) qt_copy_or_install(PROGRAMS "${SYNCQT_FROM_SOURCE}" DESTINATION "${syncqt_install_dir}") - elseif(QT_HOST_PATH) + elseif(NOT "${QT_HOST_PATH}" STREQUAL "") get_filename_component(syncqt_absolute_path "${QT_HOST_PATH}/${QT${PROJECT_VERSION_MAJOR}_HOST_INFO_LIBEXECDIR}/syncqt.pl" ABSOLUTE) diff --git a/cmake/QtTargetHelpers.cmake b/cmake/QtTargetHelpers.cmake index e4f885a512..2a0a22f682 100644 --- a/cmake/QtTargetHelpers.cmake +++ b/cmake/QtTargetHelpers.cmake @@ -501,7 +501,7 @@ function(qt_internal_create_tracepoints name tracepoints_file) set(tracegen_arg "etw") endif() - if(QT_HOST_PATH) + if(NOT "${QT_HOST_PATH}" STREQUAL "") qt_path_join(tracegen "${QT_HOST_PATH}" "${QT${PROJECT_VERSION_MAJOR}_HOST_INFO_BINDIR}" diff --git a/cmake/QtToolchainHelpers.cmake b/cmake/QtToolchainHelpers.cmake index a0897696bd..5495cbf6c5 100644 --- a/cmake/QtToolchainHelpers.cmake +++ b/cmake/QtToolchainHelpers.cmake @@ -2,7 +2,7 @@ # as well as CMake application projects. # Expects various global variables to be set. function(qt_internal_create_toolchain_file) - if(QT_HOST_PATH) + if(NOT "${QT_HOST_PATH}" STREQUAL "") # TODO: Figure out how to make these relocatable. get_filename_component(__qt_host_path_absolute "${QT_HOST_PATH}" ABSOLUTE) @@ -22,10 +22,10 @@ function(qt_internal_create_toolchain_file) endif()") set(init_qt_host_path_checks " - if(NOT QT_HOST_PATH OR NOT EXISTS \"\${QT_HOST_PATH}\") + if(\"\${QT_HOST_PATH}\" STREQUAL \"\" OR NOT EXISTS \"\${QT_HOST_PATH}\") message(FATAL_ERROR \"To use a cross-compiled Qt, please specify a path to a host Qt installation by setting the QT_HOST_PATH cache variable.\") endif() - if(NOT QT_HOST_PATH_CMAKE_DIR OR NOT EXISTS \"\${QT_HOST_PATH_CMAKE_DIR}\") + if(\"\${QT_HOST_PATH_CMAKE_DIR}\" STREQUAL \"\" OR NOT EXISTS \"\${QT_HOST_PATH_CMAKE_DIR}\") message(FATAL_ERROR \"To use a cross-compiled Qt, please specify a path to a host Qt installation CMake directory by setting the QT_HOST_PATH_CMAKE_DIR cache variable.\") endif()") endif() diff --git a/src/corelib/Qt6AndroidMacros.cmake b/src/corelib/Qt6AndroidMacros.cmake index e1f17a73b0..0ecde09d7c 100644 --- a/src/corelib/Qt6AndroidMacros.cmake +++ b/src/corelib/Qt6AndroidMacros.cmake @@ -180,7 +180,7 @@ function(qt6_android_generate_deployment_settings target) endif() # Override qmlimportscanner binary path - set(qml_importscanner_binary_path "${QT_HOST_PATH}/bin/qmlimportscanner") + set(qml_importscanner_binary_path "${QT_HOST_PATH}/${QT6_HOST_INFO_BINDIR}/qmlimportscanner") if (WIN32) string(APPEND qml_importscanner_binary_path ".exe") endif() @@ -189,7 +189,7 @@ function(qt6_android_generate_deployment_settings target) " \"qml-importscanner-binary\" : \"${qml_importscanner_binary_path_native}\",\n") # Override rcc binary path - set(rcc_binary_path "${QT_HOST_PATH}/bin/rcc") + set(rcc_binary_path "${QT_HOST_PATH}/${QT6_HOST_INFO_BINDIR}/rcc") if (WIN32) string(APPEND rcc_binary_path ".exe") endif() @@ -269,7 +269,7 @@ function(qt6_android_add_apk_target target) set(should_add_to_global_apk TRUE) endif() - set(deployment_tool "${QT_HOST_PATH}/bin/androiddeployqt") + set(deployment_tool "${QT_HOST_PATH}/${QT6_HOST_INFO_BINDIR}/androiddeployqt") set(apk_dir "$<TARGET_PROPERTY:${target},BINARY_DIR>/android-build") add_custom_target(${target}_prepare_apk_dir DEPENDS ${target} diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index b6b1bb439c..b2a682781d 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -885,7 +885,7 @@ if (QT_FEATURE_vulkan) set(vulkan_fun_p_cpp "qvulkanfunctions_p.cpp") list(APPEND vulkan_fun_outputs "vulkan/${vulkan_fun_p_cpp}") - if(QT_HOST_PATH) + if(NOT "${QT_HOST_PATH}" STREQUAL "") qt_path_join(qvkgen "${QT_HOST_PATH}" "${QT${PROJECT_VERSION_MAJOR}_HOST_INFO_BINDIR}" |