backend-infra-engineer: Release v0.3.3 snapshot
This commit is contained in:
69
cmake/packaging/cpack.cmake
Normal file
69
cmake/packaging/cpack.cmake
Normal file
@@ -0,0 +1,69 @@
|
||||
# CPack Configuration
|
||||
# Cross-platform packaging using CPack
|
||||
|
||||
include(CPack)
|
||||
|
||||
# Set package information
|
||||
set(CPACK_PACKAGE_NAME "yaze")
|
||||
set(CPACK_PACKAGE_VENDOR "scawful")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Yet Another Zelda3 Editor")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${YAZE_VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${YAZE_VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${YAZE_VERSION_PATCH})
|
||||
set(CPACK_PACKAGE_VERSION "${YAZE_VERSION_MAJOR}.${YAZE_VERSION_MINOR}.${YAZE_VERSION_PATCH}")
|
||||
|
||||
# Set package directory
|
||||
set(CPACK_PACKAGE_DIRECTORY "${CMAKE_BINARY_DIR}/packages")
|
||||
|
||||
# Platform-specific packaging
|
||||
if(APPLE)
|
||||
include(cmake/packaging/macos.cmake)
|
||||
elseif(WIN32)
|
||||
include(cmake/packaging/windows.cmake)
|
||||
elseif(UNIX)
|
||||
include(cmake/packaging/linux.cmake)
|
||||
endif()
|
||||
|
||||
# Common files to include
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
|
||||
set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md")
|
||||
|
||||
# Set default component
|
||||
set(CPACK_COMPONENTS_ALL yaze)
|
||||
set(CPACK_COMPONENT_YAZE_DISPLAY_NAME "YAZE Editor")
|
||||
set(CPACK_COMPONENT_YAZE_DESCRIPTION "Main YAZE application and libraries")
|
||||
|
||||
# Install rules - these define what CPack packages
|
||||
include(GNUInstallDirs)
|
||||
|
||||
# Install main executable
|
||||
if(APPLE)
|
||||
install(TARGETS yaze
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
BUNDLE DESTINATION .
|
||||
COMPONENT yaze
|
||||
)
|
||||
else()
|
||||
install(TARGETS yaze
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
COMPONENT yaze
|
||||
)
|
||||
endif()
|
||||
|
||||
# Install assets
|
||||
install(DIRECTORY ${CMAKE_SOURCE_DIR}/assets/
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/yaze/assets
|
||||
COMPONENT yaze
|
||||
PATTERN "*.png"
|
||||
PATTERN "*.ttf"
|
||||
PATTERN "*.asm"
|
||||
)
|
||||
|
||||
# Install documentation
|
||||
install(FILES
|
||||
${CMAKE_SOURCE_DIR}/README.md
|
||||
${CMAKE_SOURCE_DIR}/LICENSE
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR}
|
||||
COMPONENT yaze
|
||||
)
|
||||
|
||||
17
cmake/packaging/linux.cmake
Normal file
17
cmake/packaging/linux.cmake
Normal file
@@ -0,0 +1,17 @@
|
||||
# Linux Packaging Configuration
|
||||
|
||||
# DEB package
|
||||
set(CPACK_GENERATOR "DEB;TGZ")
|
||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "scawful")
|
||||
set(CPACK_DEBIAN_PACKAGE_SECTION "games")
|
||||
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libstdc++6, libsdl2-2.0-0")
|
||||
|
||||
# RPM package
|
||||
set(CPACK_RPM_PACKAGE_LICENSE "MIT")
|
||||
set(CPACK_RPM_PACKAGE_GROUP "Applications/Games")
|
||||
set(CPACK_RPM_PACKAGE_REQUIRES "glibc, libstdc++, SDL2")
|
||||
|
||||
# Tarball
|
||||
set(CPACK_TGZ_PACKAGE_NAME "yaze-${CPACK_PACKAGE_VERSION}-linux-x64")
|
||||
|
||||
24
cmake/packaging/macos.cmake
Normal file
24
cmake/packaging/macos.cmake
Normal file
@@ -0,0 +1,24 @@
|
||||
# macOS Packaging Configuration
|
||||
|
||||
# Create .dmg package
|
||||
set(CPACK_GENERATOR "DragNDrop")
|
||||
set(CPACK_DMG_VOLUME_NAME "yaze")
|
||||
set(CPACK_DMG_FORMAT "UDZO")
|
||||
set(CPACK_DMG_BACKGROUND_IMAGE "${CMAKE_SOURCE_DIR}/assets/yaze.png")
|
||||
|
||||
# App bundle configuration
|
||||
set(CPACK_BUNDLE_NAME "yaze")
|
||||
set(CPACK_BUNDLE_PACKAGE_TYPE "APPL")
|
||||
set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/assets/yaze.icns")
|
||||
|
||||
# Code signing (if available)
|
||||
if(DEFINED ENV{CODESIGN_IDENTITY})
|
||||
set(CPACK_BUNDLE_APPLE_CERT_APP "$ENV{CODESIGN_IDENTITY}")
|
||||
set(CPACK_BUNDLE_APPLE_CODESIGN_FORCE "ON")
|
||||
endif()
|
||||
|
||||
# Notarization (if available)
|
||||
if(DEFINED ENV{NOTARIZATION_CREDENTIALS})
|
||||
set(CPACK_BUNDLE_APPLE_NOTARIZATION_CREDENTIALS "$ENV{NOTARIZATION_CREDENTIALS}")
|
||||
endif()
|
||||
|
||||
22
cmake/packaging/windows.cmake
Normal file
22
cmake/packaging/windows.cmake
Normal file
@@ -0,0 +1,22 @@
|
||||
# Windows Packaging Configuration
|
||||
|
||||
# NSIS installer
|
||||
set(CPACK_GENERATOR "NSIS;ZIP")
|
||||
set(CPACK_NSIS_PACKAGE_NAME "YAZE Editor")
|
||||
set(CPACK_NSIS_DISPLAY_NAME "YAZE Editor v${CPACK_PACKAGE_VERSION}")
|
||||
set(CPACK_NSIS_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}")
|
||||
set(CPACK_NSIS_CONTACT "scawful")
|
||||
set(CPACK_NSIS_URL_INFO_ABOUT "https://github.com/scawful/yaze")
|
||||
set(CPACK_NSIS_HELP_LINK "https://github.com/scawful/yaze")
|
||||
set(CPACK_NSIS_URL_INFO_ABOUT "https://github.com/scawful/yaze")
|
||||
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
|
||||
|
||||
# ZIP package
|
||||
set(CPACK_ZIP_PACKAGE_NAME "yaze-${CPACK_PACKAGE_VERSION}-windows-x64")
|
||||
|
||||
# Code signing (if available)
|
||||
if(DEFINED ENV{SIGNTOOL_CERTIFICATE})
|
||||
set(CPACK_NSIS_SIGN_TOOL "signtool.exe")
|
||||
set(CPACK_NSIS_SIGN_COMMAND "${ENV{SIGNTOOL_CERTIFICATE}}")
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user