CMake: Check for qtpaths6.exe existence during windows deployment
A qt installation might not contain the non-versioned the qtpaths.exe installed, but keep the versioned qtpaths6.exe. Try to use the versioned version before the non-versioned one. If none exists, show a warning at deployment time. Amends 571201603acc731330c9af42a3aca9cda41d38fd Pick-to: 6.6 6.5 Fixes: QTBUG-122664 Task-number: QTBUG-119619 Change-Id: I23caf9ed3c7928fbab9657b0c0c64517dfc7d68e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit bcdc9d7059b6ecd4e0bfb44cf5a42d87c49e3edc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
c9b5b40d14
commit
06ab1d3630
@ -443,8 +443,13 @@ function(qt6_deploy_runtime_dependencies)
|
|||||||
|
|
||||||
# Specify path to target Qt's qtpaths .exe or .bat file, so windeployqt deploys the correct
|
# Specify path to target Qt's qtpaths .exe or .bat file, so windeployqt deploys the correct
|
||||||
# libraries when cross-compiling from x86_64 to arm64 windows.
|
# libraries when cross-compiling from x86_64 to arm64 windows.
|
||||||
if(__QT_DEPLOY_TARGET_QT_PATHS_PATH)
|
if(__QT_DEPLOY_TARGET_QT_PATHS_PATH AND EXISTS "${__QT_DEPLOY_TARGET_QT_PATHS_PATH}")
|
||||||
list(APPEND tool_options --qtpaths "${__QT_DEPLOY_TARGET_QT_PATHS_PATH}")
|
list(APPEND tool_options --qtpaths "${__QT_DEPLOY_TARGET_QT_PATHS_PATH}")
|
||||||
|
else()
|
||||||
|
message(WARNING
|
||||||
|
"No qtpaths executable found for target Qt "
|
||||||
|
"at: ${__QT_DEPLOY_TARGET_QT_PATHS_PATH}. "
|
||||||
|
"Libraries may not be deployed correctly.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(APPEND tool_options ${arg_DEPLOY_TOOL_OPTIONS})
|
list(APPEND tool_options ${arg_DEPLOY_TOOL_OPTIONS})
|
||||||
|
@ -2983,7 +2983,30 @@ function(_qt_internal_setup_deploy_support)
|
|||||||
else()
|
else()
|
||||||
set(qt_paths_ext "")
|
set(qt_paths_ext "")
|
||||||
endif()
|
endif()
|
||||||
set(target_qtpaths_path "${QT6_INSTALL_PREFIX}/${QT6_INSTALL_BINS}/qtpaths${qt_paths_ext}")
|
|
||||||
|
|
||||||
|
|
||||||
|
set(target_qtpaths_path "")
|
||||||
|
set(qtpaths_prefix "${QT6_INSTALL_PREFIX}/${QT6_INSTALL_BINS}")
|
||||||
|
get_property(qt_major_version TARGET "${target}" PROPERTY INTERFACE_QT_MAJOR_VERSION)
|
||||||
|
if(qt_major_version)
|
||||||
|
set(target_qtpaths_with_major_version_path
|
||||||
|
"${qtpaths_prefix}/qtpaths${qt_major_version}${qt_paths_ext}")
|
||||||
|
if(EXISTS "${target_qtpaths_with_major_version_path}")
|
||||||
|
set(target_qtpaths_path "${target_qtpaths_with_major_version_path}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT target_qtpaths_path)
|
||||||
|
set(target_qtpaths_path_without_version "${qtpaths_prefix}/qtpaths${qt_paths_ext}")
|
||||||
|
if(EXISTS "${target_qtpaths_path_without_version}")
|
||||||
|
set(target_qtpaths_path "${target_qtpaths_path_without_version}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT target_qtpaths_path)
|
||||||
|
message(DEBUG "No qtpaths executable found for deployment purposes.")
|
||||||
|
endif()
|
||||||
|
|
||||||
file(GENERATE OUTPUT "${QT_DEPLOY_SUPPORT}" CONTENT
|
file(GENERATE OUTPUT "${QT_DEPLOY_SUPPORT}" CONTENT
|
||||||
"cmake_minimum_required(VERSION 3.16...3.21)
|
"cmake_minimum_required(VERSION 3.16...3.21)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user