summaryrefslogtreecommitdiff
path: root/CMake
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2015-12-01 22:22:39 +0200
committerFurkan Sahin <furkan-dev@proton.me>2015-12-01 22:22:39 +0200
commit8564b2402a0ec80c0449aee3031342f59fa5cc92 (patch)
treebef53364575ce4ccf283fa9dbc6f3cd727979874 /CMake
parent81c129db5c5ec46c07c48df351821e7592d0459c (diff)
cmake: extract add_manpage()
Diffstat (limited to 'CMake')
-rw-r--r--CMake/Manpage.cmake31
1 files changed, 31 insertions, 0 deletions
diff --git a/CMake/Manpage.cmake b/CMake/Manpage.cmake
new file mode 100644
index 00000000..4842387e
--- /dev/null
+++ b/CMake/Manpage.cmake
@@ -0,0 +1,31 @@
+find_package(A2X REQUIRED)
+
+add_custom_target(man ALL)
+
+function(add_manpage name section)
+ add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${name}.${section}
+ COMMAND ${A2X_COMMAND}
+ --no-xmllint
+ --doctype manpage
+ --format manpage
+ -D ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+ ${CMAKE_CURRENT_SOURCE_DIR}/${name}.${section}.txt
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.${section}.txt
+ COMMENT Generating manpage for ${name}.${section}
+ )
+
+ add_custom_target(man-${name}.${section}
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/${name}.${section}
+ )
+ add_dependencies(man
+ man-${name}.${section}
+ )
+
+ install(
+ FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}.${section}
+ DESTINATION share/man/man${section}
+ COMPONENT documentation
+ )
+endfunction()