34 lines
1.1 KiB
CMake
34 lines
1.1 KiB
CMake
|
find_package(A2X)
|
||
|
|
||
|
if (A2X_FOUND)
|
||
|
add_custom_target(man ALL)
|
||
|
|
||
|
function(add_manpage name section)
|
||
|
add_custom_command(
|
||
|
OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${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_RUNTIME_OUTPUT_DIRECTORY}/${name}.${section}
|
||
|
)
|
||
|
add_dependencies(man
|
||
|
man-${name}.${section}
|
||
|
)
|
||
|
|
||
|
install(
|
||
|
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}.${section}
|
||
|
DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/man/man${section}
|
||
|
COMPONENT documentation
|
||
|
)
|
||
|
endfunction()
|
||
|
endif()
|