Skip to content

Commit 80d6e78

Browse files
committed
added package.cmake for creating .deb file
1 parent 53eb7b0 commit 80d6e78

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ endfunction()
3131

3232
if(${ADD_DEMO})
3333
find_package(Python3 COMPONENTS NumPy REQUIRED)
34-
find_package(xtensor REQUIRED)
34+
find_package(xtensor 0.24.0 REQUIRED)
3535
set(CMAKE_CXX_STANDARD 17)
3636
set(CMAKE_CXX_FLAGS "-Wall -g -DUSE_GUI=${USE_GUI}")
3737
add_subdirectory(gallery/lines_bars_and_markers)
@@ -97,6 +97,8 @@ install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/${PROJECT_NAME}
9797
DESTINATION include
9898
)
9999
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
100+
# create .deb
101+
include("${PROJECT_SOURCE_DIR}/cmake/package.cmake")
100102

101103
# uninstall target
102104
## actually it's just `xargs rm < install_manifest.txt`

cmake/package.cmake

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# https://decovar.dev/blog/2021/09/23/cmake-cpack-package-deb-apt/
2+
set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
3+
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${CMAKE_PROJECT_DESCRIPTION})
4+
set(CPACK_VERBATIM_VARIABLES YES)
5+
set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME})
6+
SET(CPACK_OUTPUT_FILE_PREFIX "${PROJECT_BINARY_DIR}/")
7+
set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
8+
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
9+
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
10+
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
11+
set(CPACK_PACKAGE_CONTACT "example@example.com")
12+
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Deb Example")
13+
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
14+
set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
15+
# package name for deb
16+
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
17+
set(CPACK_COMPONENTS_GROUPING ALL_COMPONENTS_IN_ONE)
18+
# without this you won't be able to pack only specified component
19+
set(CPACK_DEB_COMPONENT_INSTALL YES)
20+
21+
include(CPack)
22+
23+
# run cpack -G DEB to create .deb

0 commit comments

Comments
 (0)