diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-13 05:13:32 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-13 05:13:32 +0000 |
| commit | a6fc1625ea8f825a7161354eb9167a281542fa29 (patch) | |
| tree | b610b85c1ca9a94481cfcb1f19ee192508fb9a60 /cmake | |
| parent | 8b633927930095d2a8f6ffd48dc2f88a21b3e0bf (diff) | |
build: package Windows releases as ZIP archives
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat (limited to 'cmake')
| -rw-r--r-- | cmake/Release.cmake | 24 |
1 files changed, 20 insertions, 4 deletions
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 ) |
