Actually make a2x optional

We might not even write man pages tbh
This commit is contained in:
Drew DeVault 2017-06-20 18:52:13 -04:00
parent c2d0090ad7
commit d1493b2391
1 changed files with 29 additions and 27 deletions

View File

@ -1,31 +1,33 @@
find_package(A2X REQUIRED) find_package(A2X)
add_custom_target(man ALL) if (A2X_FOUND)
add_custom_target(man ALL)
function(add_manpage name section) function(add_manpage name section)
add_custom_command( add_custom_command(
OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}.${section} OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}.${section}
COMMAND ${A2X_COMMAND} COMMAND ${A2X_COMMAND}
--no-xmllint --no-xmllint
--doctype manpage --doctype manpage
--format manpage --format manpage
-D ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} -D ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
${CMAKE_CURRENT_SOURCE_DIR}/${name}.${section}.txt ${CMAKE_CURRENT_SOURCE_DIR}/${name}.${section}.txt
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.${section}.txt DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.${section}.txt
COMMENT Generating manpage for ${name}.${section} COMMENT Generating manpage for ${name}.${section}
) )
add_custom_target(man-${name}.${section} add_custom_target(man-${name}.${section}
DEPENDS DEPENDS
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}.${section} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}.${section}
) )
add_dependencies(man add_dependencies(man
man-${name}.${section} man-${name}.${section}
) )
install( install(
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}.${section} FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}.${section}
DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/man/man${section} DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/man/man${section}
COMPONENT documentation COMPONENT documentation
) )
endfunction() endfunction()
endif()