feat: support full-featured cmake install

This commit is contained in:
Yaroslav Gurov
2026-03-28 02:41:49 +01:00
parent 7efb532bc9
commit ca8164fde4
3 changed files with 47 additions and 1 deletions

View File

@@ -230,3 +230,13 @@ if(COMMAND qt_finalize_executable)
else()
qt_finalize_target(${PROJECT})
endif()
install(TARGETS ${PROJECT} DESTINATION ".")
install(FILES $<TARGET_RUNTIME_DLLS:${PROJECT}> DESTINATION ".")
qt_generate_deploy_qml_app_script(
TARGET ${PROJECT}
OUTPUT_SCRIPT QT_DEPLOY_SCRIPT
NO_UNSUPPORTED_PLATFORM_ERROR
)
install(SCRIPT ${QT_DEPLOY_SCRIPT})

View File

@@ -24,3 +24,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Android")
"-c=tools.build:exelinkflags=['-Wl,-z,max-page-size=16384']"
CACHE STRING "" FORCE)
endif()
if (WIN32)
set(CMAKE_INSTALL_BINDIR ".")
endif()

View File

@@ -354,10 +354,11 @@ endif()
add_custom_command(
TARGET ${PROJECT} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E $<IF:$<CONFIG:Debug>,copy_directory,true>
${CMAKE_SOURCE_DIR}/deploy/data/${DEPLOY_PLATFORM_PATH}
"${CMAKE_SOURCE_DIR}/deploy/data/${DEPLOY_PLATFORM_PATH}"
$<TARGET_FILE_DIR:${PROJECT}>
COMMAND_EXPAND_LISTS
)
install(DIRECTORY "${CMAKE_SOURCE_DIR}/deploy/data/${DEPLOY_PLATFORM_PATH}/" DESTINATION ".")
if (WIN32)
find_package(awg-windows REQUIRED)
@@ -384,3 +385,34 @@ add_custom_command(TARGET ${PROJECT} POST_BUILD
${BLOBS}
$<TARGET_FILE_DIR:${PROJECT}>
)
install(FILES ${BLOBS} DESTINATION ".")
# install drivers
if (WIN32)
find_package(tap-windows6 REQUIRED)
add_custom_command(TARGET ${PROJECT} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
"${TAP_WINDOWS6_BIN}"
"$<TARGET_FILE_DIR:${PROJECT}>/tap"
)
install(DIRECTORY "${TAP_WINDOWS6_BIN}/" DESTINATION "tap")
find_package(win-split-tunnel REQUIRED)
add_custom_command(TARGET ${PROJECT} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
"${WIN_SPLIT_TUNNEL_BIN}"
"$<TARGET_FILE_DIR:${PROJECT}>"
)
install(DIRECTORY "${WIN_SPLIT_TUNNEL_BIN}/" DESTINATION ".")
endif()
# install target
install(TARGETS ${PROJECT} DESTINATION ".")
install(FILES $<TARGET_RUNTIME_DLLS:${PROJECT}> DESTINATION ".")
qt_generate_deploy_app_script(
TARGET ${PROJECT}
OUTPUT_SCRIPT QT_DEPLOY_SCRIPT
NO_UNSUPPORTED_PLATFORM_ERROR
)
install(SCRIPT ${QT_DEPLOY_SCRIPT})