ffffffffffff
Some checks failed
Build / Build Game (push) Has been cancelled

This commit is contained in:
2026-03-02 15:56:45 -05:00
parent a7f11f8842
commit 03ee76e0a5
2 changed files with 58 additions and 0 deletions

View File

@@ -259,6 +259,17 @@ else()
target_link_libraries(${PROJECT_NAME} PRIVATE OpenGL::GL) target_link_libraries(${PROJECT_NAME} PRIVATE OpenGL::GL)
endif() endif()
if(WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND}
-DBIN_ROOT="${CMAKE_BINARY_DIR}/bin"
-DTARGET_DIR="$<TARGET_FILE_DIR:${PROJECT_NAME}>"
-DEXE_FILE="$<TARGET_FILE_NAME:${PROJECT_NAME}>"
-DPACKAGE_NAME="snivy-win32"
-P "${CMAKE_CURRENT_SOURCE_DIR}/cmake/create_windows_zip.cmake"
COMMENT "Creating snivy-win32 package")
endif()
message(STATUS "System: ${CMAKE_SYSTEM_NAME}") message(STATUS "System: ${CMAKE_SYSTEM_NAME}")
message(STATUS "Project: ${PROJECT_NAME}") message(STATUS "Project: ${PROJECT_NAME}")
message(STATUS "Compiler: ${CMAKE_CXX_COMPILER}") message(STATUS "Compiler: ${CMAKE_CXX_COMPILER}")

View File

@@ -0,0 +1,47 @@
if(NOT DEFINED BIN_ROOT OR BIN_ROOT STREQUAL "")
message(FATAL_ERROR "BIN_ROOT is required")
endif()
if(NOT DEFINED TARGET_DIR OR TARGET_DIR STREQUAL "")
message(FATAL_ERROR "TARGET_DIR is required")
endif()
if(NOT DEFINED EXE_FILE OR EXE_FILE STREQUAL "")
message(FATAL_ERROR "EXE_FILE is required")
endif()
if(NOT DEFINED PACKAGE_NAME OR PACKAGE_NAME STREQUAL "")
set(PACKAGE_NAME "snivy-win32")
endif()
set(EXE_PATH "${TARGET_DIR}/${EXE_FILE}")
set(PACKAGE_DIR "${BIN_ROOT}/${PACKAGE_NAME}")
set(ARCHIVE_PATH "${BIN_ROOT}/${PACKAGE_NAME}.zip")
set(TARGET_RESOURCES_DIR "${TARGET_DIR}/resources")
set(BIN_RESOURCES_DIR "${BIN_ROOT}/resources")
file(MAKE_DIRECTORY "${BIN_ROOT}")
file(REMOVE_RECURSE "${PACKAGE_DIR}")
file(REMOVE "${ARCHIVE_PATH}")
file(MAKE_DIRECTORY "${PACKAGE_DIR}")
if(EXISTS "${EXE_PATH}")
file(COPY "${EXE_PATH}" DESTINATION "${PACKAGE_DIR}")
else()
message(FATAL_ERROR "Executable not found: ${EXE_PATH}")
endif()
if(EXISTS "${TARGET_RESOURCES_DIR}")
file(COPY "${TARGET_RESOURCES_DIR}" DESTINATION "${PACKAGE_DIR}")
elseif(EXISTS "${BIN_RESOURCES_DIR}")
file(COPY "${BIN_RESOURCES_DIR}" DESTINATION "${PACKAGE_DIR}")
endif()
execute_process(
COMMAND "${CMAKE_COMMAND}" -E tar cf "${PACKAGE_NAME}.zip" --format=zip "${PACKAGE_NAME}"
WORKING_DIRECTORY "${BIN_ROOT}"
RESULT_VARIABLE ZIP_RESULT
)
if(NOT ZIP_RESULT EQUAL 0)
message(FATAL_ERROR "Failed creating ${ARCHIVE_PATH}")
endif()