@@ -34,8 +34,7 @@ project(libpmemobj-cpp C CXX)
34
34
35
35
set (VERSION_MAJOR 1 )
36
36
set (VERSION_MINOR 4 )
37
- set (VERSION_PATCH 0 )
38
- set (VERSION ${VERSION_MAJOR} .${VERSION_MINOR}.${VERSION_PATCH} )
37
+ set (VERSION ${VERSION_MAJOR} .${VERSION_MINOR} )
39
38
40
39
set (CMAKE_DISABLE_IN_SOURCE_BUILD ON )
41
40
@@ -377,3 +376,59 @@ if(BUILD_EXAMPLES AND NO_GCC_VARIADIC_TEMPLATE_BUG)
377
376
elseif (BUILD_EXAMPLES )
378
377
message (WARNING "Skipping build of examples because of compiler issue" )
379
378
endif ()
379
+
380
+ if (NOT "${CPACK_GENERATOR} " STREQUAL "" )
381
+ string (TOUPPER "${CPACK_GENERATOR} " CPACK_GENERATOR )
382
+
383
+ if (NOT ("${CPACK_GENERATOR} " STREQUAL "DEB" OR
384
+ "${CPACK_GENERATOR} " STREQUAL "RPM" ))
385
+ message (FATAL_ERROR "Wrong CPACK_GENERATOR value, valid generators are: DEB, RPM" )
386
+ endif ()
387
+
388
+ set (CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX} " )
389
+ set (CMAKE_INSTALL_TMPDIR /tmp CACHE PATH "Output dir for tmp" )
390
+ set (CPACK_COMPONENTS_ALL_IN_ONE )
391
+
392
+ # Filter out some of directories from %dir section, which are expected
393
+ # to exist in filesystem. Leaving them might lead to conflicts with other
394
+ # packages (for example with 'filesystem' package on fedora which specify
395
+ # /usr, /usr/local, etc.)
396
+ set (CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
397
+ ${CPACK_PACKAGING_INSTALL_PREFIX}
398
+ ${CPACK_PACKAGING_INSTALL_PREFIX} /${CMAKE_INSTALL_LIBDIR}
399
+ ${CPACK_PACKAGING_INSTALL_PREFIX} /${CMAKE_INSTALL_LIBDIR}/pkgconfig
400
+ ${CPACK_PACKAGING_INSTALL_PREFIX} /${CMAKE_INSTALL_INCDIR}
401
+ ${CPACK_PACKAGING_INSTALL_PREFIX} /share
402
+ ${CPACK_PACKAGING_INSTALL_PREFIX} /share/doc )
403
+
404
+ set (CPACK_PACKAGE_NAME "libpmemobj++" )
405
+ set (CPACK_PACKAGE_VERSION ${VERSION} )
406
+ set (CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR} )
407
+ set (CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR} )
408
+ set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "c++ bindings to libpmemobj" )
409
+ set (CPACK_PACKAGE_VENDOR "Intel" )
410
+
411
+ set (CPACK_RPM_PACKAGE_NAME "libpmemobj++-devel" )
412
+ set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries" )
413
+ set (CPACK_RPM_PACKAGE_LICENSE "BSD" )
414
+ set (CPACK_RPM_PACKAGE_ARCHITECTURE x86_64 )
415
+ set (CPACK_RPM_PACKAGE_REQUIRES "libpmemobj-devel >= 1.4" )
416
+ set (CPACK_RPM_CHANGELOG_FILE ${CMAKE_SOURCE_DIR} /ChangeLog )
417
+
418
+ set (CPACK_DEBIAN_PACKAGE_NAME "libpmemobj++-dev" )
419
+ set (CPACK_DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION} -${CPACK_PACKAGE_RELEASE} )
420
+ set (CPACK_DEBIAN_PACKAGE_ARCHITECTURE amd64 )
421
+ set (CPACK_DEBIAN_PACKAGE_DEPENDS "libpmemobj-dev (>= 1.4)" )
422
+ set (
CPACK_DEBIAN_PACKAGE_MAINTAINER "[email protected] " )
423
+
424
+ if ("${CPACK_GENERATOR} " STREQUAL "RPM" )
425
+ set (CPACK_PACKAGE_FILE_NAME
426
+ ${CPACK_RPM_PACKAGE_NAME} -${CPACK_PACKAGE_VERSION}.${CPACK_RPM_PACKAGE_ARCHITECTURE} )
427
+ elseif ("${CPACK_GENERATOR} " STREQUAL "DEB" )
428
+ set (CPACK_PACKAGE_FILE_NAME
429
+ ${CPACK_DEBIAN_PACKAGE_NAME} -${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE} )
430
+ endif ()
431
+
432
+ set (targetDestDir ${CMAKE_INSTALL_TMPDIR} )
433
+ include (CPack )
434
+ endif ()
0 commit comments