Refactor Windows packaging configuration in CMake
- Updated the CMake packaging script to conditionally set the CPACK_GENERATOR based on the environment, differentiating between CI/CD builds and local builds. - Enhanced NSIS-specific configuration to only apply for local builds, improving clarity and maintainability. - Adjusted package file naming conventions for Windows builds to reflect the environment, ensuring consistency across different build scenarios.
This commit is contained in:
@@ -27,32 +27,50 @@ endif()
|
|||||||
|
|
||||||
# Platform-specific configuration
|
# Platform-specific configuration
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
# Windows NSIS installer configuration
|
# Windows packaging configuration (conditional based on environment)
|
||||||
set(CPACK_GENERATOR "NSIS;ZIP")
|
if(DEFINED ENV{GITHUB_ACTIONS})
|
||||||
set(CPACK_NSIS_DISPLAY_NAME "Yaze - Zelda3 Editor")
|
# CI/CD build - use only ZIP (NSIS not available)
|
||||||
set(CPACK_NSIS_PACKAGE_NAME "Yaze")
|
set(CPACK_GENERATOR "ZIP")
|
||||||
set(CPACK_NSIS_CONTACT "scawful@github.com")
|
else()
|
||||||
set(CPACK_NSIS_URL_INFO_ABOUT "https://github.com/scawful/yaze")
|
# Local build - use both NSIS installer and ZIP
|
||||||
set(CPACK_NSIS_HELP_LINK "https://github.com/scawful/yaze/issues")
|
set(CPACK_GENERATOR "NSIS;ZIP")
|
||||||
set(CPACK_NSIS_MENU_LINKS
|
endif()
|
||||||
"bin/yaze.exe" "Yaze Editor"
|
|
||||||
"https://github.com/scawful/yaze" "Yaze Homepage"
|
# NSIS-specific configuration (only for local builds with NSIS available)
|
||||||
)
|
if(NOT DEFINED ENV{GITHUB_ACTIONS})
|
||||||
set(CPACK_NSIS_CREATE_ICONS_EXTRA
|
set(CPACK_NSIS_DISPLAY_NAME "Yaze - Zelda3 Editor")
|
||||||
"CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Yaze.lnk' '$INSTDIR\\\\bin\\\\yaze.exe'"
|
set(CPACK_NSIS_PACKAGE_NAME "Yaze")
|
||||||
"CreateShortCut '$DESKTOP\\\\Yaze.lnk' '$INSTDIR\\\\bin\\\\yaze.exe'"
|
set(CPACK_NSIS_CONTACT "scawful@github.com")
|
||||||
)
|
set(CPACK_NSIS_URL_INFO_ABOUT "https://github.com/scawful/yaze")
|
||||||
set(CPACK_NSIS_DELETE_ICONS_EXTRA
|
set(CPACK_NSIS_HELP_LINK "https://github.com/scawful/yaze/issues")
|
||||||
"Delete '$SMPROGRAMS\\\\$START_MENU\\\\Yaze.lnk'"
|
set(CPACK_NSIS_MENU_LINKS
|
||||||
"Delete '$DESKTOP\\\\Yaze.lnk'"
|
"bin/yaze.exe" "Yaze Editor"
|
||||||
)
|
"https://github.com/scawful/yaze" "Yaze Homepage"
|
||||||
|
)
|
||||||
|
set(CPACK_NSIS_CREATE_ICONS_EXTRA
|
||||||
|
"CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Yaze.lnk' '$INSTDIR\\\\bin\\\\yaze.exe'"
|
||||||
|
"CreateShortCut '$DESKTOP\\\\Yaze.lnk' '$INSTDIR\\\\bin\\\\yaze.exe'"
|
||||||
|
)
|
||||||
|
set(CPACK_NSIS_DELETE_ICONS_EXTRA
|
||||||
|
"Delete '$SMPROGRAMS\\\\$START_MENU\\\\Yaze.lnk'"
|
||||||
|
"Delete '$DESKTOP\\\\Yaze.lnk'"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Windows architecture detection
|
# Windows architecture detection
|
||||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
set(CPACK_PACKAGE_FILE_NAME "yaze-${CPACK_PACKAGE_VERSION}-win64")
|
if(DEFINED ENV{GITHUB_ACTIONS})
|
||||||
|
set(CPACK_PACKAGE_FILE_NAME "yaze-${CPACK_PACKAGE_VERSION}-windows-x64")
|
||||||
|
else()
|
||||||
|
set(CPACK_PACKAGE_FILE_NAME "yaze-${CPACK_PACKAGE_VERSION}-win64")
|
||||||
|
endif()
|
||||||
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
|
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
|
||||||
else()
|
else()
|
||||||
set(CPACK_PACKAGE_FILE_NAME "yaze-${CPACK_PACKAGE_VERSION}-win32")
|
if(DEFINED ENV{GITHUB_ACTIONS})
|
||||||
|
set(CPACK_PACKAGE_FILE_NAME "yaze-${CPACK_PACKAGE_VERSION}-windows-x86")
|
||||||
|
else()
|
||||||
|
set(CPACK_PACKAGE_FILE_NAME "yaze-${CPACK_PACKAGE_VERSION}-win32")
|
||||||
|
endif()
|
||||||
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
|
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user