a (not so) mini update

This commit is contained in:
2026-04-01 02:08:50 -04:00
parent fb6f902f28
commit af04a9b313
64 changed files with 1158 additions and 583 deletions

View File

@@ -1,55 +1,41 @@
if(NOT DEFINED SRC_DIR OR NOT DEFINED DST_DIR)
message(FATAL_ERROR "SRC_DIR and DST_DIR must be defined")
if(NOT DEFINED SRC_DIR OR NOT DEFINED DST_DIR OR NOT DEFINED STAMP_FILE)
message(FATAL_ERROR "SRC_DIR, DST_DIR, and STAMP_FILE must be defined")
endif()
set(CHARACTERS_DIR "${SRC_DIR}/characters")
set(CHARACTERS_ZIP_SCRIPT "${CHARACTERS_DIR}/zip")
set(IS_HOST_WINDOWS FALSE)
if(CMAKE_HOST_WIN32)
set(IS_HOST_WINDOWS TRUE)
endif()
if(EXISTS "${CHARACTERS_ZIP_SCRIPT}" AND NOT IS_HOST_WINDOWS)
execute_process(
COMMAND "${CHARACTERS_ZIP_SCRIPT}"
WORKING_DIRECTORY "${CHARACTERS_DIR}"
RESULT_VARIABLE ZIP_SCRIPT_RESULT
)
if(NOT ZIP_SCRIPT_RESULT EQUAL 0)
message(WARNING "Failed running ${CHARACTERS_ZIP_SCRIPT} (exit code ${ZIP_SCRIPT_RESULT}); continuing with existing archives")
endif()
endif()
file(REMOVE_RECURSE "${DST_DIR}")
file(MAKE_DIRECTORY "${DST_DIR}")
# Copy all resources except characters/ contents.
# Copy all resources except character source folders and any stray character zips.
file(COPY "${SRC_DIR}/" DESTINATION "${DST_DIR}"
PATTERN "characters/*" EXCLUDE)
PATTERN "characters/*" EXCLUDE
PATTERN "characters/*.zip" EXCLUDE)
# Copy only .zip archives from resources/characters.
file(MAKE_DIRECTORY "${DST_DIR}/characters")
file(GLOB CHARACTER_ZIPS "${CHARACTERS_DIR}/*.zip")
if(EXISTS "${CHARACTERS_DIR}")
file(GLOB CHILDREN RELATIVE "${CHARACTERS_DIR}" "${CHARACTERS_DIR}/*")
foreach(CHILD IN LISTS CHILDREN)
set(CHARACTER_SOURCE_DIR "${CHARACTERS_DIR}/${CHILD}")
if(NOT IS_DIRECTORY "${CHARACTER_SOURCE_DIR}")
continue()
endif()
if(NOT CHARACTER_ZIPS)
file(GLOB CHARACTER_FILES RELATIVE "${CHARACTERS_DIR}" "${CHARACTERS_DIR}/*")
list(FILTER CHARACTER_FILES EXCLUDE REGEX "^zip$")
list(FILTER CHARACTER_FILES EXCLUDE REGEX ".*\\.zip$")
file(GLOB_RECURSE CHARACTER_CONTENTS RELATIVE "${CHARACTER_SOURCE_DIR}" "${CHARACTER_SOURCE_DIR}/*")
if(NOT CHARACTER_CONTENTS)
message(STATUS "Skipping empty character directory: ${CHARACTER_SOURCE_DIR}")
continue()
endif()
if(CHARACTER_FILES)
execute_process(
COMMAND "${CMAKE_COMMAND}" -E tar cf "snivy.zip" --format=zip ${CHARACTER_FILES}
WORKING_DIRECTORY "${CHARACTERS_DIR}"
COMMAND "${CMAKE_COMMAND}" -E tar cf "${DST_DIR}/characters/${CHILD}.zip" --format=zip ${CHARACTER_CONTENTS}
WORKING_DIRECTORY "${CHARACTER_SOURCE_DIR}"
RESULT_VARIABLE ZIP_GENERATE_RESULT
)
if(NOT ZIP_GENERATE_RESULT EQUAL 0)
message(WARNING "Failed generating ${CHARACTERS_DIR}/snivy.zip (exit code ${ZIP_GENERATE_RESULT}); continuing without character zip archives")
else()
file(GLOB CHARACTER_ZIPS "${CHARACTERS_DIR}/*.zip")
message(FATAL_ERROR "Failed generating ${DST_DIR}/characters/${CHILD}.zip (exit code ${ZIP_GENERATE_RESULT})")
endif()
endif()
endforeach()
endif()
if(CHARACTER_ZIPS)
file(COPY ${CHARACTER_ZIPS} DESTINATION "${DST_DIR}/characters")
endif()
file(WRITE "${STAMP_FILE}" "resources copied\n")

View File

@@ -2,7 +2,7 @@ if(NOT DEFINED BIN_DIR OR BIN_DIR STREQUAL "")
message(FATAL_ERROR "BIN_DIR is required")
endif()
set(ARCHIVE_PATH "${BIN_DIR}/snivy-web.zip")
set(ARCHIVE_PATH "${BIN_DIR}/shweets-sim-web.zip")
file(REMOVE "${ARCHIVE_PATH}")
file(GLOB INDEX_OUTPUTS "${BIN_DIR}/index.*")
@@ -16,7 +16,7 @@ endforeach()
if(FILES_TO_ZIP)
execute_process(
COMMAND "${CMAKE_COMMAND}" -E tar cf "snivy-web.zip" --format=zip ${FILES_TO_ZIP}
COMMAND "${CMAKE_COMMAND}" -E tar cf "shweets-sim-web.zip" --format=zip ${FILES_TO_ZIP}
WORKING_DIRECTORY "${BIN_DIR}"
RESULT_VARIABLE ZIP_RESULT
)
@@ -24,5 +24,5 @@ if(FILES_TO_ZIP)
message(FATAL_ERROR "Failed creating ${ARCHIVE_PATH}")
endif()
else()
message(WARNING "No index.* files found in ${BIN_DIR}; skipping snivy-web.zip creation")
message(WARNING "No index.* files found in ${BIN_DIR}; skipping shweets-sim-web.zip creation")
endif()