diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2024-12-31 23:52:59 +0100 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2025-01-01 06:09:49 +0100 |
commit | aea9c334e0f4842d78f3b849079bfb318d4f6937 (patch) | |
tree | e8879933b76e0e83ea95795f2ce9bfa7df20a4d5 /CMakeLists.txt | |
parent | e53cddb030774765dec14ab120991fc775bc6959 (diff) | |
download | usb-drivers-origin/master.tar.gz usb-drivers-origin/master.tar.xz usb-drivers-origin/master.zip |
Bump liberty, replace help2man with help2adocHEADorigin/mastermaster
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 8beaf96..2e91b48 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -138,19 +138,27 @@ endif () # Generate documentation from help output if (NOT WIN32 AND NOT CMAKE_CROSSCOMPILING) - find_program (HELP2MAN_EXECUTABLE help2man) - if (NOT HELP2MAN_EXECUTABLE) - message (FATAL_ERROR "help2man not found") - endif () + set (HELP2ADOC "${PROJECT_SOURCE_DIR}/liberty/tools/help2adoc.awk") + set (ASCIIMAN "${PROJECT_SOURCE_DIR}/liberty/tools/asciiman.awk") foreach (target ${targets}) - set (page_output "${PROJECT_BINARY_DIR}/${target}.1") - list (APPEND project_MAN_PAGES "${page_output}") - add_custom_command (OUTPUT ${page_output} - COMMAND ${HELP2MAN_EXECUTABLE} -N - "${PROJECT_BINARY_DIR}/${target}" -o ${page_output} - DEPENDS ${target} - COMMENT "Generating man page for ${target}" VERBATIM) + set (page_adoc "${PROJECT_BINARY_DIR}/${target}.1.adoc") + set (page_roff "${PROJECT_BINARY_DIR}/${target}.1") + list (APPEND project_MAN_PAGES "${page_roff}") + + # $<TARGET_FILE:tgt> could be used, if we didn't have to escape it. + string (REPLACE "\\" "\\\\" + target_path "${PROJECT_BINARY_DIR}/${target}") + add_custom_command (OUTPUT "${page_adoc}" + COMMAND env LC_ALL=C awk -f "${HELP2ADOC}" + -v "Target=${target_path}" > "${page_adoc}" + DEPENDS "${target}" "${HELP2ADOC}" + COMMENT "Generating AsciiDoc man page for ${target}" VERBATIM) + add_custom_command (OUTPUT "${page_roff}" + COMMAND env LC_ALL=C awk -f "${ASCIIMAN}" + "${page_adoc}" > "${page_roff}" + DEPENDS "${page_adoc}" "${ASCIIMAN}" + COMMENT "Generating roff man page for ${target}" VERBATIM) endforeach () add_custom_target (docs ALL DEPENDS ${project_MAN_PAGES}) |