From 38640f745e8079e8fc860aa5ff162035b31572c2 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Wed, 3 Jul 2019 16:40:01 +0200 Subject: [PATCH] Fix toolchain path when doing non-prefix builds Previously the cmake install prefix was added twice during a non-prefix build, which evaluated to an incorrect path. Set another absolute dir variable, and use that instead. Change-Id: I73099510dadc8f401d5a763f21840c9671686c10 Reviewed-by: Simon Hausmann Reviewed-by: Qt CMake Build Bot --- bin/qt-cmake.bat.in | 2 +- bin/qt-cmake.in | 2 +- cmake/QtBaseGlobalTargets.cmake | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bin/qt-cmake.bat.in b/bin/qt-cmake.bat.in index 3f33b4725bb..a26e153068c 100644 --- a/bin/qt-cmake.bat.in +++ b/bin/qt-cmake.bat.in @@ -1 +1 @@ -@CMAKE_COMMAND@ -DCMAKE_TOOLCHAIN_FILE=@CMAKE_INSTALL_PREFIX@/@__GlobalConfig_install_dir@/qt.toolchain.cmake %* +@CMAKE_COMMAND@ -DCMAKE_TOOLCHAIN_FILE=@__GlobalConfig_install_dir_absolute@/qt.toolchain.cmake %* diff --git a/bin/qt-cmake.in b/bin/qt-cmake.in index efc8a850bea..1797d2ded5b 100755 --- a/bin/qt-cmake.in +++ b/bin/qt-cmake.in @@ -1,3 +1,3 @@ #!/bin/sh -exec @CMAKE_COMMAND@ -DCMAKE_TOOLCHAIN_FILE=@CMAKE_INSTALL_PREFIX@/@__GlobalConfig_install_dir@/qt.toolchain.cmake $* +exec @CMAKE_COMMAND@ -DCMAKE_TOOLCHAIN_FILE=@__GlobalConfig_install_dir_absolute@/qt.toolchain.cmake $* diff --git a/cmake/QtBaseGlobalTargets.cmake b/cmake/QtBaseGlobalTargets.cmake index 5936e7dcc63..059f528ca6b 100644 --- a/cmake/QtBaseGlobalTargets.cmake +++ b/cmake/QtBaseGlobalTargets.cmake @@ -20,6 +20,13 @@ endif() set(__GlobalConfig_path_suffix "${INSTALL_CMAKE_NAMESPACE}") qt_path_join(__GlobalConfig_build_dir ${QT_CONFIG_BUILD_DIR} ${__GlobalConfig_path_suffix}) qt_path_join(__GlobalConfig_install_dir ${QT_CONFIG_INSTALL_DIR} ${__GlobalConfig_path_suffix}) +set(__GlobalConfig_install_dir_absolute "${__GlobalConfig_install_dir}") +if(QT_WILL_INSTALL) + # Need to prepend the install prefix when doing prefix builds, because the config install dir + # is relative then. + qt_path_join(__GlobalConfig_install_dir_absolute + ${CMAKE_INSTALL_PREFIX} ${__GlobalConfig_install_dir_absolute}) +endif() # Generate and install Qt6 config file. configure_package_config_file(