cmake: extract add_manpage()

This commit is contained in:
Christoph Gysin 2015-12-01 22:22:39 +02:00
parent 297d8b3f02
commit 4277070a7b
2 changed files with 32 additions and 31 deletions

31
CMake/Manpage.cmake Normal file
View file

@ -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()

View file

@ -50,7 +50,6 @@ add_subdirectory(swaybar)
find_package(XKBCommon REQUIRED) find_package(XKBCommon REQUIRED)
find_package(WLC REQUIRED) find_package(WLC REQUIRED)
find_package(A2X REQUIRED)
find_package(PCRE REQUIRED) find_package(PCRE REQUIRED)
find_package(Wayland REQUIRED) find_package(Wayland REQUIRED)
find_package(JsonC REQUIRED) find_package(JsonC REQUIRED)
@ -98,36 +97,7 @@ install(
COMPONENT configuration COMPONENT configuration
) )
add_custom_target(man ALL) include(Manpage)
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()
add_manpage(sway 1) add_manpage(sway 1)
add_manpage(sway 5) add_manpage(sway 5)
add_manpage(swaymsg 1) add_manpage(swaymsg 1)