cmake/doc.cmake (33 lines of code) (raw):
function(generate_manpage manpage_name)
set(manpage_in "${CMAKE_SOURCE_DIR}/doc/${manpage_name}.8.in")
set(manpage_output "${CMAKE_CURRENT_BINARY_DIR}/doc/${manpage_name}.8")
configure_file(
"${manpage_in}"
"${manpage_output}"
@ONLY
)
set(MANPAGES_OUTPUT ${MANPAGES_OUTPUT} ${manpage_output} PARENT_SCOPE)
endfunction()
string(TIMESTAMP TODAY "%B %d, %Y")
set(PANDOC_GENERATE_COMMAND
pandoc --standalone --from markdown --to man
--template "${CMAKE_SOURCE_DIR}/doc/pandoc.template"
--variable footer="${manpage_name} ${VERSION}"
--variable date="${TODAY}"
)
set(PANDOC_FIXUPS_COMMAND sed -i 's/f\\[C]/f[CR]/g')
add_custom_target(
generate-manpages
COMMAND ${PANDOC_GENERATE_COMMAND} "${CMAKE_SOURCE_DIR}/doc/azure-nvme-id.md" -o ${CMAKE_SOURCE_DIR}/doc/azure-nvme-id.8.in
COMMAND ${PANDOC_FIXUPS_COMMAND} "${CMAKE_SOURCE_DIR}/doc/azure-nvme-id.8.in"
COMMAND ${PANDOC_GENERATE_COMMAND} "${CMAKE_SOURCE_DIR}/doc/azure-vm-utils-selftest.md" -o ${CMAKE_SOURCE_DIR}/doc/azure-vm-utils-selftest.8.in
COMMAND ${PANDOC_FIXUPS_COMMAND} "${CMAKE_SOURCE_DIR}/doc/azure-vm-utils-selftest.8.in"
)
generate_manpage("azure-nvme-id")
generate_manpage("azure-vm-utils-selftest")
add_custom_target(
doc
DEPENDS ${MANPAGES_OUTPUT}
)
set(MANPAGES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/man")
install(FILES ${MANPAGES_OUTPUT} DESTINATION ${MANPAGES_INSTALL_DIR}/man8)