From a6fc1625ea8f825a7161354eb9167a281542fa29 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Tue, 13 Oct 2026 05:13:32 +0000 Subject: build: package Windows releases as ZIP archives Co-Authored-By: Claude Fable 5.1 --- cmake/Release.cmake | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'cmake') diff --git a/cmake/Release.cmake b/cmake/Release.cmake index be78088..fe78711 100644 --- a/cmake/Release.cmake +++ b/cmake/Release.cmake @@ -14,15 +14,31 @@ set(cpsc_short_id "${CMAKE_MATCH_2}") string(TIMESTAMP cpsc_commit_time "%Y-%m-%d-%H-%M-%S" UTC) set(cpsc_package_name "cpsc-${cpsc_commit_time}-${cpsc_short_id}-${CPSC_PLATFORM}") set(cpsc_package_dir "${CPSC_BINARY_DIR}/release/${cpsc_package_name}") -set(cpsc_archive "${CPSC_BINARY_DIR}/${cpsc_package_name}.tar.xz") +if(CPSC_WINDOWS) + set(cpsc_archive "${CPSC_BINARY_DIR}/${cpsc_package_name}.zip") + set(cpsc_binary_name cpsc.exe) + set(cpsc_installer install.ps1) + set(cpsc_manual cpsc.html) + set(cpsc_tar_flags cf) + set(cpsc_archive_format zip) +else() + set(cpsc_archive "${CPSC_BINARY_DIR}/${cpsc_package_name}.tar.xz") + set(cpsc_binary_name cpsc) + set(cpsc_installer install.sh) + set(cpsc_manual cpsc.1) + set(cpsc_tar_flags cJf) + set(cpsc_archive_format gnutar) +endif() file(REMOVE_RECURSE "${cpsc_package_dir}") file(MAKE_DIRECTORY "${cpsc_package_dir}/doc") -file(COPY "${CPSC_EXECUTABLE}" "${CPSC_SOURCE_DIR}/install.sh" "${CPSC_SOURCE_DIR}/LICENSE" +configure_file("${CPSC_EXECUTABLE}" "${cpsc_package_dir}/${cpsc_binary_name}" COPYONLY) +file(COPY "${CPSC_SOURCE_DIR}/${cpsc_installer}" "${CPSC_SOURCE_DIR}/LICENSE" DESTINATION "${cpsc_package_dir}") -file(COPY "${CPSC_BINARY_DIR}/doc/cpsc.1" DESTINATION "${cpsc_package_dir}/doc") +file(COPY "${CPSC_BINARY_DIR}/doc/${cpsc_manual}" DESTINATION "${cpsc_package_dir}/doc") execute_process( - COMMAND "${CMAKE_COMMAND}" -E tar cJf "${cpsc_archive}" --format=gnutar "${cpsc_package_name}" + COMMAND "${CMAKE_COMMAND}" -E tar "${cpsc_tar_flags}" "${cpsc_archive}" + "--format=${cpsc_archive_format}" "${cpsc_package_name}" WORKING_DIRECTORY "${CPSC_BINARY_DIR}/release" RESULT_VARIABLE cpsc_tar_result ) -- cgit v1.3.1-4-g156e