summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmake/QtBuildInternalsExtra.cmake.in9
-rw-r--r--cmake/QtPostProcessHelpers.cmake12
2 files changed, 9 insertions, 12 deletions
diff --git a/cmake/QtBuildInternalsExtra.cmake.in b/cmake/QtBuildInternalsExtra.cmake.in
index cbd70b1f7b..37e6be8fbf 100644
--- a/cmake/QtBuildInternalsExtra.cmake.in
+++ b/cmake/QtBuildInternalsExtra.cmake.in
@@ -26,6 +26,7 @@ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND
AND NOT QT_SUPERBUILD)
set(qtbi_orig_prefix "@CMAKE_INSTALL_PREFIX@")
set(qtbi_new_prefix "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}")
+ set(qtbi_orig_staging_prefix "@CMAKE_STAGING_PREFIX@")
if(CMAKE_HOST_WIN32)
# Make sure we use exactly the original prefix if it points to the same directory as the new
# one. This is needed for the case where the original prefix is passed without drive letter
@@ -36,12 +37,20 @@ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND
set(qtbi_new_prefix "${qtbi_orig_prefix}")
endif()
endif()
+ if(NOT qtbi_orig_staging_prefix STREQUAL ""
+ AND "${CMAKE_STAGING_PREFIX}" STREQUAL ""
+ AND NOT QT_BUILD_INTERNALS_NO_FORCE_SET_STAGING_PREFIX)
+ set(CMAKE_STAGING_PREFIX "${qtbi_new_prefix}" CACHE PATH
+ "Staging path prefix, prepended onto install directories on the host machine." FORCE)
+ set(qtbi_new_prefix "${qtbi_orig_prefix}")
+ endif()
set(CMAKE_INSTALL_PREFIX "${qtbi_new_prefix}" CACHE PATH
"Install path prefix, prepended onto install directories." FORCE)
unset(qtbi_orig_prefix)
unset(qtbi_real_orig_prefix)
unset(qtbi_new_prefix)
unset(qtbi_real_new_prefix)
+ unset(qtbi_orig_staging_prefix)
endif()
# Propagate developer builds to other modules via BuildInternals package.
diff --git a/cmake/QtPostProcessHelpers.cmake b/cmake/QtPostProcessHelpers.cmake
index 35ca6eabee..a9b295a9d6 100644
--- a/cmake/QtPostProcessHelpers.cmake
+++ b/cmake/QtPostProcessHelpers.cmake
@@ -659,18 +659,6 @@ endif()\n")
"set(OPENSSL_ROOT_DIR \"${openssl_root_cmake_path}\" CACHE STRING \"\")\n")
endif()
- if(NOT "${CMAKE_STAGING_PREFIX}" STREQUAL "")
- string(APPEND QT_EXTRA_BUILD_INTERNALS_VARS
- "
-# If no explicit CMAKE_STAGING_PREFIX is provided, force set the original Qt staging prefix,
-if(\"$\{CMAKE_STAGING_PREFIX}\" STREQUAL \"\"
- AND NOT QT_BUILD_INTERNALS_NO_FORCE_SET_STAGING_PREFIX)
- set(CMAKE_STAGING_PREFIX \"${CMAKE_STAGING_PREFIX}\" CACHE PATH
- \"Staging path prefix, prepended onto install directories on the host machine.\" FORCE)
-endif()
-")
- endif()
-
qt_generate_install_prefixes(install_prefix_content)
string(APPEND QT_EXTRA_BUILD_INTERNALS_VARS "${install_prefix_content}")