From 863afc6f51c565733611f26cb3877372f1b0cb92 Mon Sep 17 00:00:00 2001 From: Petter Reinholdtsen Date: Wed, 13 Sep 2017 09:22:23 +0200 Subject: Add cmake rule to generate and install the rst manual page. --- docs/CMakeLists.txt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'docs/CMakeLists.txt') diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index f16fbf6..041fc60 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -33,3 +33,25 @@ if(ENABLE_DOXYGEN) add_subdirectory(doxygen) endif(ENABLE_DOXYGEN) + +######################################################################## +# Convert manual pages from rst to roff and install them +######################################################################## +find_program(RST2MAN_EXECUTABLE NAMES rst2man rst2man.py rst2man2 rst2man2.py) +if(NOT RST2MAN_EXECUTABLE) + message(FATAL "rst2man from python-docutils is required to build man pages") +endif() + +function(BUILD_MAN_PAGE _sources _src _dst) + add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_dst}" + COMMAND ${RST2MAN_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${_src} ${CMAKE_CURRENT_BINARY_DIR}/${_dst} + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_src}) + + list(APPEND ${_sources} "${CMAKE_CURRENT_BINARY_DIR}/${_dst}") + set(${_sources} ${${_sources}} PARENT_SCOPE) + + add_custom_target(man_${_src} ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_dst}) +endfunction() + +build_man_page(MAN1_OUTPUT grgsm_livemon.rst grgsm_livemon.1) +install(FILES ${MAN1_OUTPUT} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1) -- cgit v1.2.3