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
|
||||
# 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}")
|
||||
else()
|
||||
message(WARNING
|
||||
"No qtpaths executable found for target Qt "
|
||||
"at: ${__QT_DEPLOY_TARGET_QT_PATHS_PATH}. "
|
||||
"Libraries may not be deployed correctly.")
|
||||
endif()
|
||||
|
||||
list(APPEND tool_options ${arg_DEPLOY_TOOL_OPTIONS})
|
||||
|
@ -2983,7 +2983,30 @@ function(_qt_internal_setup_deploy_support)
|
||||
else()
|
||||
set(qt_paths_ext "")
|
||||
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
|
||||
"cmake_minimum_required(VERSION 3.16...3.21)
|
||||
|
Loading…
x
Reference in New Issue
Block a user