29 lines
904 B
CMake
29 lines
904 B
CMake
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")
|
|
file(REMOVE "${ARCHIVE_PATH}")
|
|
|
|
file(GLOB INDEX_OUTPUTS "${BIN_DIR}/index.*")
|
|
set(FILES_TO_ZIP "")
|
|
foreach(FILE_PATH IN LISTS INDEX_OUTPUTS)
|
|
if(NOT FILE_PATH STREQUAL ARCHIVE_PATH)
|
|
get_filename_component(FILE_NAME "${FILE_PATH}" NAME)
|
|
list(APPEND FILES_TO_ZIP "${FILE_NAME}")
|
|
endif()
|
|
endforeach()
|
|
|
|
if(FILES_TO_ZIP)
|
|
execute_process(
|
|
COMMAND "${CMAKE_COMMAND}" -E tar cf "snivy-web.zip" --format=zip ${FILES_TO_ZIP}
|
|
WORKING_DIRECTORY "${BIN_DIR}"
|
|
RESULT_VARIABLE ZIP_RESULT
|
|
)
|
|
if(NOT ZIP_RESULT EQUAL 0)
|
|
message(FATAL_ERROR "Failed creating ${ARCHIVE_PATH}")
|
|
endif()
|
|
else()
|
|
message(WARNING "No index.* files found in ${BIN_DIR}; skipping snivy-web.zip creation")
|
|
endif()
|