feat: linux initial packaging support

This commit is contained in:
Yaroslav Gurov
2026-04-02 12:15:41 +02:00
parent f456db5392
commit af2ade1d20
2 changed files with 24 additions and 0 deletions

View File

@@ -48,6 +48,8 @@ endif()
set(AMNEZIA_STAGE_DIR "${CMAKE_BINARY_DIR}/stage") set(AMNEZIA_STAGE_DIR "${CMAKE_BINARY_DIR}/stage")
include(${CMAKE_SOURCE_DIR}/cmake/package.cmake)
if(WIN32 AND NOT IOS AND NOT ANDROID AND NOT MACOS_NE) if(WIN32 AND NOT IOS AND NOT ANDROID AND NOT MACOS_NE)
file(TO_CMAKE_PATH "${AMNEZIA_STAGE_DIR}" AMNEZIA_STAGE_DIR_CMAKE) file(TO_CMAKE_PATH "${AMNEZIA_STAGE_DIR}" AMNEZIA_STAGE_DIR_CMAKE)

22
cmake/package.cmake Normal file
View File

@@ -0,0 +1,22 @@
if (LINUX)
set(CPACK_COMPONENTS_ALL "client" "service")
set(CPACK_COMPONENTS_GROUPING ALL_COMPONENTS_IN_ONE)
set(CPACK_GENERATOR "IFW")
set(CPACK_IFW_PACKAGE_NAME "AmneziaVPN")
set(CPACK_IFW_PACKAGE_TITLE "AmneziaVPN")
set(CPACK_IFW_PACKAGE_VERSION "${AMNEZIAVPN_VERSION}")
set(CPACK_IFW_TARGET_DIRECTORY "@ApplicationsDir@/AmneziaVPN")
set(CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH "600")
set(CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT "380")
set(CPACK_IFW_PACKAGE_WIZARD_STYLE "Modern")
set(CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR ON)
set(CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH ON)
set(CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS ON)
set(CPACK_IFW_PACKAGE_CONTROL_SCRIPT "${CMAKE_SOURCE_DIR}/deploy/installer/config/controlscript.js")
include(CPackIFW)
cpack_ifw_add_repository(main
URL "https://amneziavpn.org/updates/linux"
DISPLAY_NAME "AmneziaVPN - repository for Linux"
)
include(CPack)
endif()