完成了OTA功能,为游戏增加了图标
This commit is contained in:
+61
-2
@@ -11,7 +11,6 @@ if (NOT DEFINED CMAKE_PREFIX_PATH)
|
||||
if (WIN32)
|
||||
set(CMAKE_PREFIX_PATH "E:/QT6.6.3/6.6.3/mingw_64")
|
||||
else ()
|
||||
# Linux/Qt 官方安装器默认路径示例,按你实际安装位置修改
|
||||
set(CMAKE_PREFIX_PATH "$ENV{HOME}/Qt6.3/6.6.3/gcc_64")
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -42,7 +41,15 @@ set(APP_SOURCES
|
||||
resources.qrc
|
||||
)
|
||||
|
||||
add_executable(Embalming_Girl ${APP_SOURCES})
|
||||
if (WIN32)
|
||||
list(APPEND APP_SOURCES app.rc)
|
||||
endif ()
|
||||
|
||||
if (WIN32 AND CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
add_executable(Embalming_Girl WIN32 ${APP_SOURCES})
|
||||
else ()
|
||||
add_executable(Embalming_Girl ${APP_SOURCES})
|
||||
endif ()
|
||||
|
||||
target_include_directories(Embalming_Girl PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||
@@ -50,6 +57,7 @@ target_include_directories(Embalming_Girl PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/network
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/ui
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/voice
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/update
|
||||
)
|
||||
|
||||
target_link_libraries(Embalming_Girl
|
||||
@@ -116,3 +124,54 @@ add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Res"
|
||||
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/Res")
|
||||
|
||||
# ============ Distribution packaging target ============
|
||||
if (WIN32)
|
||||
set(DEPLOY_DIR "${CMAKE_BINARY_DIR}/deploy/Embalming_Girl")
|
||||
|
||||
add_custom_target(deploy
|
||||
DEPENDS ${PROJECT_NAME}
|
||||
COMMENT "=== Creating distribution package ==="
|
||||
|
||||
# Clean and create directory
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory "${DEPLOY_DIR}"
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory "${DEPLOY_DIR}"
|
||||
|
||||
# Copy main executable
|
||||
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:${PROJECT_NAME}>" "${DEPLOY_DIR}/"
|
||||
|
||||
# Copy ElaWidgetTools DLL
|
||||
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:ElaWidgetTools>" "${DEPLOY_DIR}/"
|
||||
|
||||
# Run windeployqt to copy Qt DLLs + plugins + compiler runtime
|
||||
COMMAND "${QT_INSTALL_PATH}/bin/windeployqt.exe"
|
||||
--no-translations
|
||||
--no-system-d3d-compiler
|
||||
--no-opengl-sw
|
||||
"$<$<CONFIG:Debug>:--debug>$<$<CONFIG:Release>:--release>"
|
||||
"${DEPLOY_DIR}/$<TARGET_FILE_NAME:${PROJECT_NAME}>"
|
||||
|
||||
# Copy multimedia plugins (windeployqt may miss these)
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory "${DEPLOY_DIR}/plugins/multimedia"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"${QT_INSTALL_PATH}/plugins/multimedia"
|
||||
"${DEPLOY_DIR}/plugins/multimedia"
|
||||
|
||||
# Copy game resources
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Res"
|
||||
"${DEPLOY_DIR}/Res"
|
||||
|
||||
# Copy config
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/config"
|
||||
"${DEPLOY_DIR}/config"
|
||||
|
||||
# Copy updater.exe (built from Go server project)
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../Embalming_Girl_Updater/updater.exe"
|
||||
"${DEPLOY_DIR}/updater.exe"
|
||||
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "=== Package created at: ${DEPLOY_DIR} ==="
|
||||
)
|
||||
endif ()
|
||||
|
||||
Reference in New Issue
Block a user