From 407fda37d98b5cd497638526abd218249714f20e Mon Sep 17 00:00:00 2001 From: x-tools-author Date: Mon, 25 Mar 2024 17:02:11 +0800 Subject: [PATCH] chore: update files of project --- CMake/xToolsDeployQt.cmake | 74 ++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 39 deletions(-) diff --git a/CMake/xToolsDeployQt.cmake b/CMake/xToolsDeployQt.cmake index a437b8d9..c07649d1 100644 --- a/CMake/xToolsDeployQt.cmake +++ b/CMake/xToolsDeployQt.cmake @@ -1,43 +1,39 @@ -function(x_tools_deploy_qt_for_windows target) - if(WIN32) - set(QT_CORE_FILE Qt${QT_VERSION_MAJOR}Core${X_TOOLS_FILE_SUFFIX}.dll) - set(depends_dll ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${QT_CORE_FILE}) - if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/Qml") - add_custom_command( - TARGET ${target} - POST_BUILD - COMMAND "${WINDEPLOYQT_EXECUTABLE}" "$" --qmldir - "${CMAKE_CURRENT_SOURCE_DIR}/Qml" --no-compiler-runtime - COMMENT "Deploy Qt(with qml) for Windows..." - VERBATIM) - else() - add_custom_command( - TARGET ${target} - POST_BUILD - COMMAND "${WINDEPLOYQT_EXECUTABLE}" $ --no-compiler-runtime - COMMENT "Deploy Qt for Windows..." - VERBATIM) - endif() +set(X_TOOLS_QML_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Qml) - if(${MSVC} AND (${MSVC_VERSION} GREATER_EQUAL 1929)) - cmake_path(GET CMAKE_CXX_COMPILER PARENT_PATH COMPILER_PATH) - if("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND MSVC) - add_custom_command( - TARGET ${target} - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${COMPILER_PATH}/VCRUNTIME140.dll" - $ - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${COMPILER_PATH}/VCRUNTIME140_1.dll" - $ - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${COMPILER_PATH}/MSVCP140.dll" - $ - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${COMPILER_PATH}/MSVCP140_1.dll" - $ - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${COMPILER_PATH}/MSVCP140_2.dll" - $ - VERBATIM) - endif() - endif() +function(x_tools_deploy_qt_for_windows target) + if(EXISTS "${X_TOOLS_QML_PATH}") + add_custom_command( + TARGET ${target} + POST_BUILD + COMMAND ${WINDEPLOYQT_EXECUTABLE} $ --qmldir ${X_TOOLS_QML_PATH} + --no-compiler-runtime + COMMENT "Deploy Qt (with qml) for Windows..." + VERBATIM) + else() + add_custom_command( + TARGET ${target} + POST_BUILD + COMMAND ${WINDEPLOYQT_EXECUTABLE} $ --no-compiler-runtime + COMMENT "Deploy Qt for Windows..." + VERBATIM) + endif() + + if((${MSVC_VERSION} GREATER_EQUAL 1929) AND ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")) + cmake_path(GET CMAKE_CXX_COMPILER PARENT_PATH COMPILER_PATH) + add_custom_command( + TARGET ${target} + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${COMPILER_PATH}/VCRUNTIME140.dll" + $ + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${COMPILER_PATH}/VCRUNTIME140_1.dll" + $ + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${COMPILER_PATH}/MSVCP140.dll" + $ + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${COMPILER_PATH}/MSVCP140_1.dll" + $ + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${COMPILER_PATH}/MSVCP140_2.dll" + $ + VERBATIM) endif() endfunction()