71 lines
3.4 KiB
CMake
71 lines
3.4 KiB
CMake
# Example 1: https://github.com/MariaDB/server/tree/10.8/cmake
|
|
# Example 2: https://gitlab.com/inkscape/inkscape/blob/master/CMakeScripts/ConfigCPack.cmake
|
|
# Example 3: https://github.com/rcaelers/workrave/blob/main/ui/app/toolkits/gtkmm/dist/macos/CMakeLists.txt
|
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "LibreWeb Browser - Decentralized Web-Browser")
|
|
set(CPACK_PACKAGE_VENDOR "Melroy van den Berg")
|
|
set(CPACK_PACKAGE_CONTACT "Melroy van den Berg <info@libreweb.org>")
|
|
set(CPACK_PACKAGE_HOMEPAGE_URL "https://libreweb.org")
|
|
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/misc/package_desc.txt")
|
|
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
|
|
set(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}")
|
|
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_TARGET}-${CPACK_PACKAGE_VERSION}")
|
|
set(CPACK_DEBIAN_PACKAGE_SECTION "web")
|
|
set(CPACK_RPM_PACKAGE_GROUP "Applications/Internet")
|
|
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-v${CPACK_PACKAGE_VERSION}") # Without '-Linux' or '-Win' suffix
|
|
# macOS specific options - Used for DragNDrop bundle generator
|
|
set(CPACK_BUNDLE_NAME "${PROJECT_NAME}-v${CPACK_PACKAGE_VERSION}")
|
|
set(CPACK_BUNDLE_PLIST "${CMAKE_SOURCE_DIR}/misc/Info.plist")
|
|
set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/images/icons/libreweb-browser.icns")
|
|
# Windows specific options - GUI Installer (NSIS generator)
|
|
set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/images/browser_logo_small.bmp")
|
|
set(CPACK_PACKAGE_INSTALL_DIRECTORY "LibreWeb")
|
|
set(CPACK_NSIS_CONTACT "${CPACK_PACKAGE_CONTACT}")
|
|
set(CPACK_NSIS_HELP_LINK "https://docs.libreweb.org/how-tos/")
|
|
set(CPACK_NSIS_URL_INFO_ABOUT "https://libreweb.org")
|
|
set(CPACK_NSIS_DISPLAY_NAME "LibreWeb Browser")
|
|
set(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} v${CPACK_PACKAGE_VERSION}")
|
|
set(CPACK_PACKAGE_EXECUTABLES "libreweb-browser;LibreWeb Browser")
|
|
set(CPACK_NSIS_MENU_LINKS
|
|
"${CPACK_PACKAGE_HOMEPAGE_URL}" "LibreWeb Homepage"
|
|
"https://gitlab.melroy.org/libreweb/browser" "LibreWeb Source code"
|
|
)
|
|
set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\libreweb-browser.exe") # Import: double backlash
|
|
set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/images/icons/libreweb-browser.ico")
|
|
set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/images/icons/libreweb-browser.ico")
|
|
set(CPACK_NSIS_MODIFY_PATH ON)
|
|
|
|
# Detect Linux Distro for RPM files
|
|
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" AND EXISTS "/etc/os-release")
|
|
execute_process (
|
|
COMMAND grep "^NAME=" /etc/os-release
|
|
COMMAND sed -e "s/NAME=//g"
|
|
COMMAND sed -e "s/\"//g"
|
|
RESULT_VARIABLE DIFINE_LINUX_DISTRO_RESULT
|
|
OUTPUT_VARIABLE LINUX_DISTRO
|
|
)
|
|
if (NOT ${DIFINE_LINUX_DISTRO_RESULT} EQUAL 0)
|
|
message (FATAL_ERROR "Linux distro identification error")
|
|
endif()
|
|
endif()
|
|
|
|
# RPM section
|
|
if(${LINUX_DISTRO} MATCHES "openSUSE")
|
|
# OpenSuse/Leap
|
|
set(CPACK_RPM_PACKAGE_REQUIRES "gtkmm3")
|
|
else()
|
|
# Redhat/CentOS/Fedora/etc.
|
|
set(CPACK_RPM_PACKAGE_REQUIRES "gtkmm30")
|
|
endif()
|
|
# Optional RPM packages (non for now)
|
|
set(CPACK_RPM_PACKAGE_SUGGESTS "")
|
|
|
|
# Debian Jessie/Ubuntu Trusty/Mint Qiana (libgtkmm-3.0-1) or
|
|
# Debian Stretch, Buster or newer, Ubuntu Xenial, Artful, Bionic or newer, Linux Mint Sarah, Tessa, Tina or newer (libgtkmm-3.0-1v5)
|
|
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libgtkmm-3.0-1 | libgtkmm-3.0-1v5")
|
|
# Optional deb packages (non for now)
|
|
set(CPACK_DEBIAN_PACKAGE_SUGGESTS "")
|
|
|
|
# include CPack model once all variables are set
|
|
include(CPack)
|
|
|