backend-infra-engineer: Release v0.3.8 snapshot

This commit is contained in:
scawful
2025-11-22 02:10:38 -05:00
parent 476dd1cd1c
commit c8289bffda
10 changed files with 148 additions and 48 deletions

View File

@@ -141,23 +141,42 @@ set(CPACK_COMPONENT_DOCUMENTATION_DISPLAY_NAME "Documentation")
set(CPACK_COMPONENT_DOCUMENTATION_DESCRIPTION "User and developer documentation")
set(CPACK_COMPONENT_DOCUMENTATION_REQUIRED FALSE)
# Platform-specific install paths
# The asset paths must match what platform_paths.cc FindAsset() searches for
if(WIN32)
# Windows: flat structure (exe and assets/ at same level)
set(YAZE_INSTALL_BINDIR ".")
set(YAZE_INSTALL_DATADIR ".")
set(YAZE_INSTALL_DOCDIR ".")
elseif(APPLE)
# macOS: flat structure for DMG (app bundle handles its own resources)
set(YAZE_INSTALL_BINDIR ".")
set(YAZE_INSTALL_DATADIR ".")
set(YAZE_INSTALL_DOCDIR ".")
else()
# Linux: FHS structure - assets at share/yaze/assets (matches FindAsset search)
set(YAZE_INSTALL_BINDIR ${CMAKE_INSTALL_BINDIR})
set(YAZE_INSTALL_DATADIR "${CMAKE_INSTALL_DATADIR}/yaze")
set(YAZE_INSTALL_DOCDIR "${CMAKE_INSTALL_DOCDIR}")
endif()
# Installation components
if(APPLE)
install(TARGETS yaze
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR}
RUNTIME DESTINATION ${YAZE_INSTALL_BINDIR}
BUNDLE DESTINATION ${YAZE_INSTALL_BINDIR}
COMPONENT applications
)
else()
install(TARGETS yaze
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
RUNTIME DESTINATION ${YAZE_INSTALL_BINDIR}
COMPONENT applications
)
endif()
# Install assets
install(DIRECTORY ${CMAKE_SOURCE_DIR}/assets/
DESTINATION ${CMAKE_INSTALL_DATADIR}/yaze/assets
DESTINATION ${YAZE_INSTALL_DATADIR}/assets
COMPONENT applications
PATTERN "*.png"
PATTERN "*.ttf"
@@ -165,15 +184,15 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/assets/
)
# Install documentation
install(FILES
install(FILES
${CMAKE_SOURCE_DIR}/README.md
${CMAKE_SOURCE_DIR}/LICENSE
DESTINATION ${CMAKE_INSTALL_DOCDIR}
DESTINATION ${YAZE_INSTALL_DOCDIR}
COMPONENT documentation
)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/docs/
DESTINATION ${CMAKE_INSTALL_DOCDIR}
DESTINATION ${YAZE_INSTALL_DOCDIR}
COMPONENT documentation
PATTERN "*.md"
PATTERN "*.html"

View File

@@ -1,7 +1,7 @@
# CPack Configuration
# Cross-platform packaging using CPack
include(CPack)
# NOTE: include(CPack) MUST be called at the END of this file,
# after all CPACK_ variables and install() rules are defined.
# Set package information
set(CPACK_PACKAGE_NAME "yaze")
@@ -36,23 +36,42 @@ set(CPACK_COMPONENT_YAZE_DESCRIPTION "Main YAZE application and libraries")
# Install rules - these define what CPack packages
include(GNUInstallDirs)
# Platform-specific install paths
# The asset paths must match what platform_paths.cc FindAsset() searches for
if(WIN32)
# Windows: flat structure (exe and assets/ at same level)
set(YAZE_INSTALL_BINDIR ".")
set(YAZE_INSTALL_DATADIR ".")
set(YAZE_INSTALL_DOCDIR ".")
elseif(APPLE)
# macOS: flat structure for DMG (app bundle handles its own resources)
set(YAZE_INSTALL_BINDIR ".")
set(YAZE_INSTALL_DATADIR ".")
set(YAZE_INSTALL_DOCDIR ".")
else()
# Linux: FHS structure - assets at share/yaze/assets (matches FindAsset search)
set(YAZE_INSTALL_BINDIR ${CMAKE_INSTALL_BINDIR})
set(YAZE_INSTALL_DATADIR "${CMAKE_INSTALL_DATADIR}/yaze")
set(YAZE_INSTALL_DOCDIR "${CMAKE_INSTALL_DOCDIR}")
endif()
# Install main executable
if(APPLE)
install(TARGETS yaze
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
RUNTIME DESTINATION ${YAZE_INSTALL_BINDIR}
BUNDLE DESTINATION .
COMPONENT yaze
)
else()
install(TARGETS yaze
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
RUNTIME DESTINATION ${YAZE_INSTALL_BINDIR}
COMPONENT yaze
)
endif()
# Install assets
install(DIRECTORY ${CMAKE_SOURCE_DIR}/assets/
DESTINATION ${CMAKE_INSTALL_DATADIR}/yaze/assets
DESTINATION ${YAZE_INSTALL_DATADIR}/assets
COMPONENT yaze
PATTERN "*.png"
PATTERN "*.ttf"
@@ -63,7 +82,11 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/assets/
install(FILES
${CMAKE_SOURCE_DIR}/README.md
${CMAKE_SOURCE_DIR}/LICENSE
DESTINATION ${CMAKE_INSTALL_DOCDIR}
DESTINATION ${YAZE_INSTALL_DOCDIR}
COMPONENT yaze
)
# IMPORTANT: include(CPack) must be called LAST, after all CPACK_ variables
# and install() rules are defined. This is a CPack requirement.
include(CPack)