Build with AsciiDoc as well as Asciidoctor

This commit is contained in:
Přemysl Eric Janouch 2022-08-23 22:32:45 +02:00
parent 435485d145
commit 92c1bf783f
Signed by: p
GPG Key ID: A0420B94F92B9493
2 changed files with 21 additions and 10 deletions

View File

@ -128,20 +128,31 @@ install (DIRECTORY contrib DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME})
# Generate documentation from text markup # Generate documentation from text markup
find_program (ASCIIDOCTOR_EXECUTABLE asciidoctor) find_program (ASCIIDOCTOR_EXECUTABLE asciidoctor)
if (NOT ASCIIDOCTOR_EXECUTABLE) find_program (A2X_EXECUTABLE a2x)
message (FATAL_ERROR "asciidoctor not found") if (NOT ASCIIDOCTOR_EXECUTABLE AND NOT A2X_EXECUTABLE)
message (FATAL_ERROR "Neither asciidoctor nor a2x were found")
endif () endif ()
foreach (page ${PROJECT_NAME}) foreach (page ${PROJECT_NAME})
set (page_output "${PROJECT_BINARY_DIR}/${page}.1") set (page_output "${PROJECT_BINARY_DIR}/${page}.1")
list (APPEND project_MAN_PAGES "${page_output}") list (APPEND project_MAN_PAGES "${page_output}")
add_custom_command (OUTPUT ${page_output} if (ASCIIDOCTOR_EXECUTABLE)
COMMAND ${ASCIIDOCTOR_EXECUTABLE} -b manpage add_custom_command (OUTPUT ${page_output}
-a release-version=${PROJECT_VERSION} COMMAND ${ASCIIDOCTOR_EXECUTABLE} -b manpage
"${PROJECT_SOURCE_DIR}/${page}.adoc" -a release-version=${PROJECT_VERSION}
-o "${page_output}" -o "${page_output}"
DEPENDS ${page}.adoc "${PROJECT_SOURCE_DIR}/${page}.adoc"
COMMENT "Generating man page for ${page}" VERBATIM) DEPENDS ${page}.adoc
COMMENT "Generating man page for ${page}" VERBATIM)
elseif (A2X_EXECUTABLE)
add_custom_command (OUTPUT ${page_output}
COMMAND ${A2X_EXECUTABLE} --doctype manpage --format manpage
-a release-version=${PROJECT_VERSION}
-D "${PROJECT_BINARY_DIR}"
"${PROJECT_SOURCE_DIR}/${page}.adoc"
DEPENDS ${page}.adoc
COMMENT "Generating man page for ${page}" VERBATIM)
endif ()
endforeach () endforeach ()
add_custom_target (docs ALL DEPENDS ${project_MAN_PAGES}) add_custom_target (docs ALL DEPENDS ${project_MAN_PAGES})

View File

@ -37,7 +37,7 @@ The rest of this README will concern itself with externalities.
Building Building
-------- --------
Build dependencies: CMake, pkg-config, asciidoctor, Build dependencies: CMake, pkg-config, asciidoctor or asciidoc,
liberty (included), termo (included) + liberty (included), termo (included) +
Runtime dependencies: ncursesw, libunistring, cURL + Runtime dependencies: ncursesw, libunistring, cURL +
Optional runtime dependencies: fftw3, libpulse, x11, xft Optional runtime dependencies: fftw3, libpulse, x11, xft