windows-deployqt: 移除显式的 windows-deployqt 目标

TODO: 需要对 QScint 编译为 SHARED 进行相同的处理
This commit is contained in:
zinface 2023-03-13 18:33:43 +08:00
parent 3325f2cfc5
commit 833a155f98
1 changed files with 56 additions and 12 deletions

View File

@ -79,21 +79,65 @@ if(WINDOWS_DEPLOY_QT)
# windows-deployqt windeployqt
# Windows Deploy Qt Application
# : windeployqt --qmldir <path-to-app-qml-files> <path-to-app-binary>
add_custom_target(windows-deployqt
COMMAND ${WINDOWS_QT_DIR}/../../../bin/windeployqt
#
${WINDOWS_APPLICATION_DEPLOY_PATH}/${PROJECT_NAME}.exe
# add_custom_target(windows-deployqt
# COMMAND ${WINDOWS_QT_DIR}/../../../bin/windeployqt
# #
# ${WINDOWS_APPLICATION_DEPLOY_PATH}/${PROJECT_NAME}.exe
# QML-
--qmlimport ${WINDOWS_QT_DIR}/../../../qml
# 部署编译器运行时(仅限桌面)
--compiler-runtime
# 详细级别(0-2)
--verbose 2
# 使
--dir ${CMAKE_INSTALL_PREFIX}/bin
# # QML-
# --qmlimport ${WINDOWS_QT_DIR}/../../../qml
# # 部署编译器运行时(仅限桌面)
# --compiler-runtime
# # 详细级别(0-2)
# --verbose 2
# # 使
# --dir ${CMAKE_INSTALL_PREFIX}/bin
# )
# windows-deployqt windeployqt
#
# ---------- Windeployqt With Install Target ---------- #
#
set(WINDEPLOYQT_EXECUTABLE "${WINDOWS_QT_DIR}/../../../bin/windeployqt")
#
file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/${PROJECT_NAME}_PATH"
CONTENT "$<TARGET_FILE:${PROJECT_NAME}>"
)
install(CODE
"
file(READ \"${CMAKE_BINARY_DIR}/${PROJECT_NAME}_PATH\" _file)
execute_process(
COMMAND \"${WINDEPLOYQT_EXECUTABLE}\"
# windeployqt
--dry-run
# QML-
--qmlimport ${WINDOWS_QT_DIR}/../../../qml
# 部署编译器运行时(仅限桌面)
--compiler-runtime
# 便
--list mapping
\${_file}
OUTPUT_VARIABLE _output
OUTPUT_STRIP_TRAILING_WHITESPACE
)
# 使 WINDOWS_COMMAND
separate_arguments(_files WINDOWS_COMMAND \${_output})
while(_files)
list(GET _files 0 _src)
list(GET _files 1 _dest)
execute_process(
COMMAND \"\${CMAKE_COMMAND}\" -E
copy_if_different \${_src} \"\${CMAKE_INSTALL_PREFIX}/bin/\${_dest}\"
)
message(\"COPY \${_src} \${CMAKE_INSTALL_PREFIX}/bin/\${_dest}\")
list(REMOVE_AT _files 0 1)
endwhile(_files)
"
)
# ---------------------------------- QSci ---------------------------------- #
# QSci