diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2021-04-26 15:45:29 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2021-04-26 23:11:28 +0200 |
commit | adf29329ead34e4fa805ef19370b2e5172bd61e0 (patch) | |
tree | cc9fd378c2748b5ef302912dcc0f41ab85b82eae /cmake/QtWrapperScriptHelpers.cmake | |
parent | d81a9206ac528ad7b5093305d7fe0037053468b8 (diff) |
CMake: Make qt-internal-configure-tests relocatable
It's important for conan CI builds where the correct installation
location of Qt should be used when configuring standalone tests.
Task-number: QTBUG-93037
Change-Id: I2465a439aea6826dedfb3217d1c909ad639d4ac0
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'cmake/QtWrapperScriptHelpers.cmake')
-rw-r--r-- | cmake/QtWrapperScriptHelpers.cmake | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/cmake/QtWrapperScriptHelpers.cmake b/cmake/QtWrapperScriptHelpers.cmake index 14958d2ce6..cee9bfd1ed 100644 --- a/cmake/QtWrapperScriptHelpers.cmake +++ b/cmake/QtWrapperScriptHelpers.cmake @@ -138,24 +138,28 @@ function(qt_internal_create_qt_configure_tests_wrapper_script) # # The script takes a path to the repo for which the standalone tests will be configured. set(script_name "qt-internal-configure-tests") - set(qt_cmake_path - "${QT_STAGING_PREFIX}/${INSTALL_BINDIR}/qt-cmake") - set(common_args "-DQT_BUILD_STANDALONE_TESTS=ON") + set(script_passed_args "-DQT_BUILD_STANDALONE_TESTS=ON") + + file(RELATIVE_PATH relative_path_from_libexec_dir_to_bin_dir + ${__qt_libexec_dir_absolute} + ${__qt_bin_dir_absolute}) + file(TO_NATIVE_PATH "${relative_path_from_libexec_dir_to_bin_dir}" + relative_path_from_libexec_dir_to_bin_dir) + if(CMAKE_HOST_UNIX) - set(script_os_prelude "#!/bin/sh") - string(PREPEND qt_cmake_path "exec ") - set(script_passed_args "${common_args} \"$@\"") + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/libexec/${script_name}.in" + "${QT_BUILD_DIR}/${INSTALL_LIBEXECDIR}/${script_name}" @ONLY) + + qt_install(PROGRAMS "${QT_BUILD_DIR}/${INSTALL_LIBEXECDIR}/${script_name}" + DESTINATION "${INSTALL_LIBEXECDIR}") else() - set(script_os_prelude "@echo off") - string(APPEND script_name ".bat") - string(APPEND qt_cmake_path ".bat") - set(script_passed_args "${common_args} %*") + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/libexec/${script_name}.bat.in" + "${QT_BUILD_DIR}/${INSTALL_LIBEXECDIR}/${script_name}.bat" @ONLY) + + qt_install(PROGRAMS "${QT_BUILD_DIR}/${INSTALL_LIBEXECDIR}/${script_name}.bat" + DESTINATION "${INSTALL_LIBEXECDIR}") endif() - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/libexec/qt-internal-configure-tests.in" - "${QT_BUILD_DIR}/${INSTALL_LIBEXECDIR}/${script_name}") - qt_install(PROGRAMS "${QT_BUILD_DIR}/${INSTALL_LIBEXECDIR}/${script_name}" - DESTINATION "${INSTALL_LIBEXECDIR}") endfunction() function(qt_internal_install_android_helper_scripts) |