File tree Expand file tree Collapse file tree 2 files changed +24
-8
lines changed Expand file tree Collapse file tree 2 files changed +24
-8
lines changed Original file line number Diff line number Diff line change @@ -7,20 +7,29 @@ set(CMAKE_SOURCE_DIR "@CMAKE_SOURCE_DIR@")
77set (CMAKE_CURRENT_BINARY_DIR "@CMAKE_CURRENT_BINARY_DIR@" )
88
99# Set windeployqt args
10- set (ARGS --dry-run -- no -opengl-sw --list mapping )
10+ set (QT5_ARGS )
1111if (@QT_VERSION_MAJOR@ EQUAL 5)
12- set (EXTRA_ARGS --no -angle)
12+ set (QT5_ARGS --no -angle)
13+ endif ()
14+
15+ find_file (QT_PATHS "qtpaths.bat" PATHS @CMAKE_PREFIX_PATH @ PATH_SUFFIXES bin)
16+ if (QT_PATHS)
17+ set (QT_PATHS --qtpaths=${QT_PATHS} )
18+ else ()
19+ set (QT_PATHS "" )
1320endif ()
1421
1522if (EXISTS @CMAKE_BINARY_DIR @/bin/@PROJECT_NAME @@CMAKE_EXECUTABLE_SUFFIX @)
1623 # Collect the runtime libraries
17- get_filename_component (QT_BIN_DIR "${QMAKE_EXECUTABLE} " DIRECTORY )
1824 execute_process (
19- COMMAND "${CMAKE_COMMAND} " -E env "PATH=${QT_BIN_DIR} " "@WINDEPLOYQT_EXECUTABLE@"
20- ${ARGS}
21- ${EXTRA_ARGS}
25+ COMMAND "${CMAKE_COMMAND} " -E env "PATH=@QT_BIN_DIR@" "@WINDEPLOYQT_EXECUTABLE@"
26+ ${QT_PATHS}
27+ --dry-run
28+ --no -opengl-sw
29+ ${QT5_ARGS}
30+ --list mapping
2231 "@CMAKE_BINARY_DIR@/bin/@PROJECT_NAME@@CMAKE_EXECUTABLE_SUFFIX@"
23- WORKING_DIRECTORY "${ QT_BIN_DIR} /.."
32+ WORKING_DIRECTORY "@ QT_BIN_DIR@ /.."
2433 OUTPUT_VARIABLE DEPS
2534 OUTPUT_STRIP_TRAILING_WHITESPACE
2635 )
Original file line number Diff line number Diff line change @@ -16,8 +16,8 @@ if(WIN32)
1616 set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup" )
1717
1818 # Search for windeployqt target (qt6 has the target natively) otherwise create it.
19+ get_filename_component (QT_BIN_DIR ${QMAKE_EXECUTABLE} DIRECTORY )
1920 if (NOT TARGET Qt${QT_VERSION_MAJOR} ::windeployqt)
20- get_filename_component (QT_BIN_DIR ${QMAKE_EXECUTABLE} DIRECTORY )
2121 find_program (WINDEPLOYQT_EXECUTABLE NAMES windeployqt HINTS ${QT_BIN_DIR} )
2222 if (EXISTS ${WINDEPLOYQT_EXECUTABLE} )
2323 add_executable (Qt${QT_VERSION_MAJOR} ::windeployqt IMPORTED )
@@ -190,6 +190,13 @@ endif()
190190if (WIN32 AND NOT DEFINED ENV{GITHUB_ACTIONS})
191191 if (TARGET Qt${QT_VERSION_MAJOR} ::windeployqt)
192192 set (WINDEPLOYQT_PARAMS --verbose 0 --no -compiler-runtime --no -opengl-sw --no -system -d3d-compiler)
193+
194+ get_target_property (QT_QTPATHS_EXECUTABLE Qt${QT_VERSION_MAJOR} ::qtpaths IMPORTED_LOCATION )
195+ find_file (QT_PATHS "qtpaths.bat" PATHS ${CMAKE_PREFIX_PATH} PATH_SUFFIXES bin)
196+ if (QT_PATHS)
197+ list (APPEND WINDEPLOYQT_PARAMS "--qtpaths=${QT_PATHS} " )
198+ endif ()
199+
193200 add_custom_command (TARGET ${PROJECT_NAME} POST_BUILD
194201 COMMAND Qt${QT_VERSION_MAJOR} ::windeployqt ${WINDEPLOYQT_PARAMS} "$<TARGET_FILE:${PROJECT_NAME} >"
195202 )
You can’t perform that action at this time.
0 commit comments