88 lines
2.5 KiB
Plaintext
88 lines
2.5 KiB
Plaintext
set(CPACK_GENERATOR "DEB")
|
|
set(CPACK_SET_DESTDIR True)
|
|
set(CPACK_STRIP_FILES True)
|
|
set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
|
|
string(REPLACE "di-" "" CPACK_PROJECT_APP_NAME "${PROJECT_APP_NAME}")
|
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROJECT_BRIEF})
|
|
set(CPACK_PACKAGE_VENDOR "Dual Inventive Technology Centre B.V.")
|
|
set(CPACK_PACKAGE_VERSION "${APPLICATION_VERSION}")
|
|
|
|
string(TOLOWER "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}" CPACK_SYSTEM_NAME)
|
|
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${APPLICATION_VERSION}-${CPACK_SYSTEM_NAME}" )
|
|
|
|
set(CPACK_INSTALL_PREFIX "/")
|
|
#TODO add_custom_target(package_source_git "${PROJECT_SOURCE_DIR}/common/)
|
|
|
|
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Embedded Development <dev-embedded@dualinventive.com>")
|
|
|
|
set(DEFAULT_DEBIAN_PACKAGE_DEPENDS "xz-utils (>= 5.1.1), libjansson (>= 2.7), libhiredis (>= 0.13.3)")
|
|
|
|
if (DEFINED CPACK_DEBIAN_PACKAGE_DEPENDS)
|
|
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, ${DEFAULT_DEBIAN_PACKAGE_DEPENDS}")
|
|
else()
|
|
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${DEFAULT_DEBIAN_PACKAGE_DEPENDS}")
|
|
endif()
|
|
|
|
# Debian postinst
|
|
configure_file("${DI_COMMON_CMAKE_DIR}/templates/debian/postinst.in"
|
|
"${CMAKE_BINARY_DIR}/debian/postinst" @ONLY)
|
|
configure_file("${DI_COMMON_CMAKE_DIR}/templates/debian/prerm.in"
|
|
"${CMAKE_BINARY_DIR}/debian/prerm" @ONLY)
|
|
configure_file("${DI_COMMON_CMAKE_DIR}/templates/debian/postrm.in"
|
|
"${CMAKE_BINARY_DIR}/debian/postrm" @ONLY)
|
|
|
|
file(REMOVE "${CMAKE_BINARY_DIR}/debian/conffiles")
|
|
|
|
function(di_install_configfile file)
|
|
if (ARGC EQUAL 1)
|
|
set(dir di)
|
|
else()
|
|
set(dir ${ARGV1})
|
|
endif()
|
|
|
|
get_filename_component(filebase ${file} NAME)
|
|
|
|
if (ARGC EQUAL 3)
|
|
set(filebase ${ARGV2})
|
|
endif()
|
|
|
|
install(FILES
|
|
${file}
|
|
RENAME ${filebase}
|
|
DESTINATION etc/${dir}
|
|
COMPONENT configuration
|
|
)
|
|
|
|
file(APPEND "${CMAKE_BINARY_DIR}/debian/conffiles" "/etc/${dir}/${filebase}\n")
|
|
endfunction()
|
|
|
|
function(di_install_sharefile file)
|
|
if (ARGC EQUAL 1)
|
|
set(dir di)
|
|
else()
|
|
set(dir ${ARGV1})
|
|
endif()
|
|
|
|
get_filename_component(filebase ${file} NAME)
|
|
|
|
if (ARGC EQUAL 3)
|
|
set(filebase ${ARGV2})
|
|
endif()
|
|
|
|
install(FILES
|
|
${file}
|
|
RENAME ${filebase}
|
|
DESTINATION usr/share/${dir}
|
|
COMPONENT configuration
|
|
)
|
|
endfunction()
|
|
|
|
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
|
|
"${CMAKE_BINARY_DIR}/debian/conffiles"
|
|
"${CMAKE_BINARY_DIR}/debian/postinst"
|
|
"${CMAKE_BINARY_DIR}/debian/postrm"
|
|
"${CMAKE_BINARY_DIR}/debian/prerm")
|
|
|
|
# NOTE DONT MOVE must come after all cpack settings!
|
|
include(CPack)
|