Skip to content

Commit e36ca94

Browse files
committed
cmake: split package build options in 3 (tar.gz, deb and rpm), and set all packages build to off by default
1 parent 8d8fef1 commit e36ca94

File tree

1 file changed

+34
-47
lines changed

1 file changed

+34
-47
lines changed

CMakeLists.txt

Lines changed: 34 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,8 @@ else ()
380380
install(TARGETS ${TARGETS} EXPORT HoelExports
381381
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
382382
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
383-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
383+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
384+
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
384385
endif ()
385386

386387
if (INSTALL_HEADER)
@@ -435,65 +436,49 @@ endif ()
435436
set(PACKAGE_IGNORED_FILES
436437
"${CMAKE_CURRENT_BINARY_DIR}/;/.git/;.gitignore;~$;${CPACK_SOURCE_IGNORE_FILES}")
437438

439+
set(CPACK_GENERATOR )
438440
set(CPACK_PACKAGE_NAME "libhoel")
439441
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Database abstraction library in C")
440-
set(CPACK_GENERATOR "TGZ;DEB")
441442
set(CPACK_PACKAGE_VERSION_MAJOR ${LIBRARY_VERSION_MAJOR})
442443
set(CPACK_PACKAGE_VERSION_MINOR ${LIBRARY_VERSION_MINOR})
443444
set(CPACK_PACKAGE_VERSION_PATCH ${LIBRARY_VERSION_PATCH})
445+
set(CPACK_PACKAGE_FILE_NAME ${PACKAGE_FILE_NAME})
444446

445-
option(BUILD_RPM "Build a RPM for your system" OFF)
446-
if (BUILD_RPM)
447-
set(CPACK_GENERATOR "TGZ;DEB;RPM")
448-
set(CPACK_RPM_PACKAGE_LICENSE "LGPL")
449-
set(CPACK_RPM_PACKAGE_URL "http://babelouest.github.io/hoel/")
447+
option(BUILD_TGZ "Build a TAR.GZ for your system" OFF)
448+
if (BUILD_TGZ)
449+
list(APPEND CPACK_GENERATOR TGZ)
450+
set(CPACK_SOURCE_GENERATOR "TGZ")
451+
set(CPACK_SOURCE_PACKAGE_FILE_NAME ${PACKAGE_FILE_NAME})
452+
set(CPACK_SOURCE_IGNORE_FILES ${PACKAGE_IGNORED_FILES})
450453
endif ()
451454

452-
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "mail@babelouest.org")
453-
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${PROJECT_DESCRIPTION})
454-
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/babelouest/hoel")
455+
option(BUILD_DEB "Build a DEB for your system" OFF)
456+
if (BUILD_DEB)
457+
list(APPEND CPACK_GENERATOR DEB)
458+
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "mail@babelouest.org")
459+
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${PROJECT_DESCRIPTION})
460+
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/babelouest/hoel")
461+
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.14), liborcania (>= ${ORCANIA_VERSION_REQUIRED}), libyder (>= ${YDER_VERSION_REQUIRED})")
455462

456-
if (INSTALL_HEADER)
457-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.14), liborcania (>= ${ORCANIA_VERSION_REQUIRED}), libyder (>= ${YDER_VERSION_REQUIRED})")
458-
if (WITH_SQLITE3)
459-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libsqlite3-dev (>= 3.5.9)")
460-
endif ()
461-
462-
if (WITH_MARIADB)
463-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, default-libmysqlclient-dev|libmariadb-dev")
464-
endif ()
465-
466-
if (WITH_PGSQL)
467-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libpq-dev (>= 9.0~)")
468-
endif ()
469-
470-
if (NOT ${RELEASE_CODENAME} STREQUAL "stretch" AND NOT ${RELEASE_CODENAME} STREQUAL "bionic")
471-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libjansson-dev (>= ${JANSSON_VERSION_REQUIRED})")
472-
endif ()
473-
else ()
474-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.14), liborcania (>= ${ORCANIA_VERSION_REQUIRED}), libyder (>= ${YDER_VERSION_REQUIRED})")
475-
if (WITH_SQLITE3)
476-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libsqlite3-0 (>= 3.5.9)")
477-
endif ()
478-
479-
if (WITH_MARIADB)
480-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, default-mysql-client|libmariadb3|libmariadb2")
481-
endif ()
463+
if (WITH_SQLITE3)
464+
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libsqlite3-dev|libsqlite3-0 (>= 3.5.9)")
465+
endif ()
482466

483-
if (WITH_PGSQL)
484-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libpq5 (>= 9.0~)")
485-
endif ()
467+
if (WITH_MARIADB)
468+
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, default-libmysqlclient-dev|libmariadb-dev|default-mysql-client|libmariadb3|libmariadb2")
469+
endif ()
486470

487-
if (NOT ${RELEASE_CODENAME} STREQUAL "stretch" AND NOT ${RELEASE_CODENAME} STREQUAL "bionic")
488-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libjansson4 (>= ${JANSSON_VERSION_REQUIRED})")
489-
endif ()
471+
if (WITH_PGSQL)
472+
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libpq-dev|libpq5 (>= 9.0~)")
473+
endif ()
490474
endif ()
491475

492-
set(CPACK_PACKAGE_FILE_NAME ${PACKAGE_FILE_NAME})
493-
494-
set(CPACK_SOURCE_GENERATOR "TGZ")
495-
set(CPACK_SOURCE_PACKAGE_FILE_NAME ${PACKAGE_FILE_NAME})
496-
set(CPACK_SOURCE_IGNORE_FILES ${PACKAGE_IGNORED_FILES})
476+
option(BUILD_RPM "Build a RPM for your system" OFF)
477+
if (BUILD_RPM)
478+
list(APPEND CPACK_GENERATOR RPM)
479+
set(CPACK_RPM_PACKAGE_LICENSE "LGPL")
480+
set(CPACK_RPM_PACKAGE_URL "http://babelouest.github.io/hoel/")
481+
endif ()
497482

498483
include(CPack)
499484

@@ -506,5 +491,7 @@ message(STATUS "PostgreSQL library support: ${WITH_PGSQL}")
506491
message(STATUS "Build static library: ${BUILD_STATIC}")
507492
message(STATUS "Build testing tree: ${BUILD_HOEL_TESTING}")
508493
message(STATUS "Install the header files: ${INSTALL_HEADER}")
494+
message(STATUS "Build TAR.GZ package: ${BUILD_TGZ}")
495+
message(STATUS "Build DEB package: ${BUILD_DEB}")
509496
message(STATUS "Build RPM package: ${BUILD_RPM}")
510497
message(STATUS "Build documentation: ${BUILD_HOEL_DOCUMENTATION}")

0 commit comments

Comments
 (0)