string(TOLOWER ${PROJECT_NAME} CPACK_PACKAGE_NAME) IF (NOT ${USEWX}) SET(CPACK_PACKAGE_NAME "${CPACK_PACKAGE_NAME}-nowx") ENDIF() set(CPACK_PACKAGE_VENDOR "elfmz") set(CPACK_PACKAGE_CONTACT "https://github.com/elfmz") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Multi-platform fork of FAR v2") SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md") SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt") set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH}) SET(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME}) set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${VERSION}) LIST(APPEND PACKAGE_DEPENDENCIES libc6) LIST(APPEND PACKAGE_DEPENDENCIES libglib2.0-0 libstdc++6) LIST(APPEND PACKAGE_DEPENDENCIES "libgcc-s1 | libgcc | libgcc1") LIST(APPEND PACKAGE_DEPENDENCIES libminizip1 libpcre3) # from main project IF (${USEWX}) find_package(wxWidgets REQUIRED core base) IF (${wxWidgets_VERSION_STRING} EQUAL "3.2.1") LIST(APPEND PACKAGE_DEPENDENCIES "libwxgtk3.2-1, libwxbase3.2-1") ELSE() LIST(APPEND PACKAGE_DEPENDENCIES libwxgtk3.0-gtk3-0v5) ENDIF() ENDIF() if(OPENSSL_FOUND) LIST(APPEND PACKAGE_DEPENDENCIES "libssl1.1 | libssl3") endif(OPENSSL_FOUND) if(LIBSSH_FOUND) LIST(APPEND PACKAGE_DEPENDENCIES libssh-4) endif(LIBSSH_FOUND) if(LIBSMBCLIENT_FOUND) LIST(APPEND PACKAGE_DEPENDENCIES libsmbclient) endif(LIBSMBCLIENT_FOUND) if(LIBNFS_FOUND) LIST(APPEND PACKAGE_DEPENDENCIES "libnfs11 | libnfs12 | libnfs13") endif(LIBNFS_FOUND) if(LIBNEON_FOUND) LIST(APPEND PACKAGE_DEPENDENCIES libneon27) endif(LIBNEON_FOUND) if(PCRE_FOUND) LIST(APPEND PACKAGE_DEPENDENCIES libpcre2-8-0) endif(PCRE_FOUND) if(LibArchive_FOUND) LIST(APPEND PACKAGE_DEPENDENCIES libarchive13) endif(LibArchive_FOUND) string(REPLACE ";" ", " PACKAGE_DEPENDENCIES "${PACKAGE_DEPENDENCIES}") FIND_PROGRAM(DPKG_CMD dpkg) IF(DPKG_CMD) LIST(APPEND CPACK_GENERATOR DEB) ELSE(DPKG_CMD) MESSAGE( STATUS "dpkg binary not found, not building debian package" ) ENDIF(DPKG_CMD) # CPack components: # -- app, base, system (main project); # -- desktop (far2l subproject). # SET(CPACK_COMPONENTS_GROUPING ALL_COMPONENTS_IN_ONE) if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CPACK_COMPONENTS_ALL app) set(CPACK_GENERATOR DragNDrop) set(CPACK_DMG_VOLUME_NAME ${CPACK_PACKAGE_NAME}-${VERSION}) set(CPACK_DMG_DS_STORE_SETUP_SCRIPT ${CMAKE_BINARY_DIR}/packaging/osx/Setup.scpt) set(CPACK_DMG_BACKGROUND_IMAGE ${PROJECT_SOURCE_DIR}/packaging/osx/Background.png) set(CPACK_PACKAGE_ICON ${PROJECT_SOURCE_DIR}/far2l/DE/Far.icns) configure_file(${PROJECT_SOURCE_DIR}/packaging/osx/Setup.scpt ${CMAKE_BINARY_DIR}/packaging/osx/Setup.scpt) else () set(CPACK_COMPONENTS_ALL base desktop system) SET(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) LIST(FIND CPACK_GENERATOR DEB DEB_GENERATOR_PRESENCE) IF(DEB_GENERATOR_PRESENCE GREATER -1) # linux (deb) set(CPACK_DEB_COMPONENT_INSTALL ON) # add DEB-package controls to build process ADD_SUBDIRECTORY(debian) set(CPACK_DEBIAN_BASE_PACKAGE_NAME ${CPACK_PACKAGE_NAME}) set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) SET(CPACK_DEBIAN_PACKAGE_MAINTAINER ${CPACK_PACKAGE_VENDOR}) SET(CPACK_DEBIAN_PACKAGE_SECTION contrib/utils) SET(CPACK_DEBIAN_PACKAGE_PRIORITY optional) SET(CPACK_DEBIAN_PACKAGE_DEPENDS ${PACKAGE_DEPENDENCIES}) ENDIF(DEB_GENERATOR_PRESENCE GREATER -1) LIST(APPEND CPACK_GENERATOR TGZ) set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) set(CPACK_ARCHIVE_BASE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME}) endif () include(CPack)