Skip to content
This repository has been archived by the owner on Feb 16, 2025. It is now read-only.

Commit

Permalink
Merge pull request #3583 from robaerd/cpack-debian-packaging
Browse files Browse the repository at this point in the history
CPack debian packaging
  • Loading branch information
mpranj authored Dec 17, 2020
2 parents ecd4c99 + e9f83c4 commit e478be3
Show file tree
Hide file tree
Showing 151 changed files with 1,843 additions and 247 deletions.
16 changes: 12 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ endif (CMAKE_VERSION VERSION_LESS 3.9)
set (CMAKE_MACOSX_RPATH 1)
set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")

set (
CMAKE_INSTALL_DEFAULT_COMPONENT_NAME
"elektra-misc"
CACHE STRING "Default component name" FORCE)

# additional modules for loading libraries
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/scripts/cmake/Modules/")

Expand Down Expand Up @@ -85,9 +90,6 @@ set (SO_VERSION 4)
set (SO_VERSION_TOOLS 2)
set (SO_VERSION_GETENV 0)

# needs version above
include (scripts/cmake/ElektraPackaging.cmake)

# ensure KDB_DB_SYSTEM is an absolute path
if (NOT IS_ABSOLUTE "${KDB_DB_SYSTEM}")
set (KDB_DB_SYSTEM "${CMAKE_INSTALL_PREFIX}/${KDB_DB_SYSTEM}")
Expand Down Expand Up @@ -125,4 +127,10 @@ if (BUILD_FULL
endif (BUILD_TESTING)
endif ()

install (FILES LICENSE.md DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER})
install (
FILES LICENSE.md
DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER}
COMPONENT libelektra4)

# needs to be included last to collect all install components
include (scripts/cmake/ElektraPackaging.cmake)
1 change: 0 additions & 1 deletion doc/AUTHORS

This file was deleted.

8 changes: 8 additions & 0 deletions doc/AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -211,3 +211,11 @@ development of KConfig plugin and changes on qt-gui
- email: mail@dardan.im
- github user: [darddan](https://github.com/darddan)
- devel/test on: Arch Linux

## Robert Sowula

debian packaging, release automation

- email: robert@sowula.at
- github user: [robaerd](https://github.com/robaerd)
- devel/test on: Debian, Ubuntu
65 changes: 53 additions & 12 deletions doc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,19 @@ find_package (Doxygen QUIET)
# ~~~
macro (do_doc target folder file install)

cmake_parse_arguments (
ARG
"" # optional keywords
"COMPONENT" # one value keywords
"" # multi value keywords
${ARGN})

if (ARG_COMPONENT)
set (HAS_COMPONENT ${ARG_COMPONENT})
else ()
set (HAS_COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME})
endif ()

# sometimes doxygen is too slow and fails with "Could not create output directory .../doc/html"
file (MAKE_DIRECTORY ${folder})

Expand All @@ -20,7 +33,10 @@ macro (do_doc target folder file install)
add_custom_target (${target} ALL DEPENDS ${folder}/${file})

if (INSTALL_DOCUMENTATION)
install (DIRECTORY ${folder} DESTINATION ${install})
install (
DIRECTORY ${folder}
COMPONENT "${HAS_COMPONENT}"
DESTINATION ${install})
endif (INSTALL_DOCUMENTATION)
endmacro (do_doc)

Expand Down Expand Up @@ -74,13 +90,14 @@ if (DOXYGEN_FOUND)
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
INPUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)

do_doc (html ${OUTPUT_DIRECTORY}/html/ index.html ${TARGET_DOCUMENTATION_HTML_FOLDER})
do_doc (man3 ${OUTPUT_DIRECTORY}/man/man3elektra/ kdb.3elektra "${TARGET_DOCUMENTATION_MAN_FOLDER};PATTERN;_*;EXCLUDE")
do_doc (html ${OUTPUT_DIRECTORY}/html/ index.html ${TARGET_DOCUMENTATION_HTML_FOLDER} COMPONENT elektra-doc)
do_doc (man3 ${OUTPUT_DIRECTORY}/man/man3elektra/ kdb.3elektra "${TARGET_DOCUMENTATION_MAN_FOLDER};PATTERN;_*;EXCLUDE" COMPONENT
elektra-doc)
add_dependencies (man3 html)
set (outputs ${OUTPUT_DIRECTORY}/html/index.html ${OUTPUT_DIRECTORY}/man/man3elektra/kdb.3elektra)

if (WITH_LATEX)
do_doc (latex ${OUTPUT_DIRECTORY}/latex/ refman.tex ${TARGET_DOCUMENTATION_LATEX_FOLDER})
do_doc (latex ${OUTPUT_DIRECTORY}/latex/ refman.tex ${TARGET_DOCUMENTATION_LATEX_FOLDER} COMPONENT elektra-doc)
add_dependencies (latex man3 html)
list (APPEND outputs ${OUTPUT_DIRECTORY}/latex/refman.tex)

Expand Down Expand Up @@ -123,21 +140,45 @@ else (DOXYGEN_FOUND)
endif (DOXYGEN_FOUND)

if (INSTALL_DOCUMENTATION)
install (FILES BIGPICTURE.md DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER})
install (FILES GOALS.md DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER})
install (FILES METADATA.ini DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER})
install (FILES SECURITY.md DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER})
install (FILES AUTHORS.md DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER})
install (FILES CONTRACT.ini DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER})
install (
FILES BIGPICTURE.md
DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER}
COMPONENT libelektra4)
install (
FILES GOALS.md
DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER}
COMPONENT libelektra4)
install (
FILES METADATA.ini
DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER}
COMPONENT libelektra4)
install (
FILES SECURITY.md
DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER}
COMPONENT libelektra4)
install (
FILES AUTHORS.md
DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER}
COMPONENT libelektra4)
install (
FILES CONTRACT.ini
DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER}
COMPONENT libelektra4)
set (news ${CMAKE_CURRENT_BINARY_DIR}/NEWS.md)
file (GLOB files "news/*.md")
file (REMOVE ${news})
foreach (file ${files})
file (READ ${file} content)
file (APPEND ${news} "\n\n\n\n\n${content}")
endforeach ()
install (FILES ${news} DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER})
install (FILES WHY.md DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER})
install (
FILES ${news}
DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER}
COMPONENT libelektra4)
install (
FILES WHY.md
DESTINATION ${TARGET_DOCUMENTATION_TEXT_FOLDER}
COMPONENT libelektra4)

endif ()

Expand Down
Loading

0 comments on commit e478be3

Please sign in to comment.