32 lines
1.0 KiB
CMake
32 lines
1.0 KiB
CMake
if(NOT DEFINED SRC_DIR OR NOT DEFINED DST_DIR)
|
|
message(FATAL_ERROR "SRC_DIR and DST_DIR must be defined")
|
|
endif()
|
|
|
|
set(CHARACTERS_DIR "${SRC_DIR}/characters")
|
|
set(CHARACTERS_ZIP_SCRIPT "${CHARACTERS_DIR}/zip")
|
|
|
|
if(EXISTS "${CHARACTERS_ZIP_SCRIPT}")
|
|
execute_process(
|
|
COMMAND "${CHARACTERS_ZIP_SCRIPT}"
|
|
WORKING_DIRECTORY "${CHARACTERS_DIR}"
|
|
RESULT_VARIABLE ZIP_SCRIPT_RESULT
|
|
)
|
|
if(NOT ZIP_SCRIPT_RESULT EQUAL 0)
|
|
message(FATAL_ERROR "Failed running ${CHARACTERS_ZIP_SCRIPT} (exit code ${ZIP_SCRIPT_RESULT})")
|
|
endif()
|
|
endif()
|
|
|
|
file(REMOVE_RECURSE "${DST_DIR}")
|
|
file(MAKE_DIRECTORY "${DST_DIR}")
|
|
|
|
# Copy all resources except characters/ contents.
|
|
file(COPY "${SRC_DIR}/" DESTINATION "${DST_DIR}"
|
|
PATTERN "characters/*" EXCLUDE)
|
|
|
|
# Copy only .zip archives from resources/characters.
|
|
file(MAKE_DIRECTORY "${DST_DIR}/characters")
|
|
file(GLOB CHARACTER_ZIPS "${CHARACTERS_DIR}/*.zip")
|
|
if(CHARACTER_ZIPS)
|
|
file(COPY ${CHARACTER_ZIPS} DESTINATION "${DST_DIR}/characters")
|
|
endif()
|