From 74fe5f5ebbcd9a174ad8c597e4c8d1d211c7f0a5 Mon Sep 17 00:00:00 2001 From: Sander Vrijders Date: Wed, 12 Apr 2017 15:03:55 +0200 Subject: build: Install manpages This will install the manpages found in doc/man/ during installation. Fixes #38 --- doc/CMakeLists.txt | 1 + doc/man/CMakeLists.txt | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 doc/CMakeLists.txt create mode 100644 doc/man/CMakeLists.txt (limited to 'doc') diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt new file mode 100644 index 00000000..5cf30050 --- /dev/null +++ b/doc/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(man) diff --git a/doc/man/CMakeLists.txt b/doc/man/CMakeLists.txt new file mode 100644 index 00000000..c864d756 --- /dev/null +++ b/doc/man/CMakeLists.txt @@ -0,0 +1,40 @@ +set(MAN_NAMES + # Add man page sources here + ap_init.3 + ap_fini.3 + flow_accept.3 + flow_alloc.3 + flow_dealloc.3 + flow_read.3 + flow_write.3 + ) + +macro(INSTALL_MAN __mans) + foreach (_man ${ARGV}) + string(REGEX REPLACE "^.+[.]([1-9]).gz" "\\1" _mansect ${_man}) + install(FILES ${_man} DESTINATION "usr/share/man/man${_mansect}") + endforeach (_man) +endmacro(INSTALL_MAN __mans) + +find_program(GZIP_EXECUTABLE + NAMES gzip + DOC "Will gzip the man pages") + +if (GZIP_EXECUTABLE) + foreach (m ${MAN_NAMES}) + set(md ${CMAKE_CURRENT_BINARY_DIR}/${m}.gz) + + add_custom_command( + OUTPUT ${md} + COMMAND ${GZIP_EXECUTABLE} + ARGS -c ${CMAKE_CURRENT_SOURCE_DIR}/${m} > ${md} + COMMENT "Compressing manpage ${m}" + VERBATIM) + + set(MAN_FILES ${MAN_FILES} ${md}) + endforeach () + + add_custom_target(man ALL DEPENDS ${MAN_FILES}) + + INSTALL_MAN(${MAN_FILES}) +endif () -- cgit v1.2.3