Skip to content

Commit

Permalink
Support building without asciidoctor
Browse files Browse the repository at this point in the history
Do not build bpftrace manpage and print a warning when asciidoctor is
missing instead of failing to configure.

Fixes bpftrace#1976
  • Loading branch information
lenticularis39 authored and danobi committed Jan 29, 2022
1 parent cee9167 commit 76a41f3
Showing 1 changed file with 20 additions and 15 deletions.
35 changes: 20 additions & 15 deletions man/adoc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,21 +1,26 @@
find_program(GZIP gzip REQUIRED)
find_program(ASCIIDOCTOR asciidoctor REQUIRED)
find_program(ASCIIDOCTOR asciidoctor)
file(GLOB FILES *.adoc)
set(GZFILES "")
foreach(FIL ${FILES})
get_filename_component(NAME ${FIL} NAME_WE)
set(MANPAGE_FILE ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.8)
set(GZ_MANPAGE_FILE "${MANPAGE_FILE}.gz")
if(NOT "${ASCIIDOCTOR}" STREQUAL "ASCIIDOCTOR-NOTFOUND")
foreach(FIL ${FILES})
get_filename_component(NAME ${FIL} NAME_WE)
set(MANPAGE_FILE ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.8)
set(GZ_MANPAGE_FILE "${MANPAGE_FILE}.gz")

add_custom_command(OUTPUT ${MANPAGE_FILE}
COMMAND ${ASCIIDOCTOR} ${FIL} -b manpage -o - > ${MANPAGE_FILE}
DEPENDS ${FIL})
add_custom_command(OUTPUT ${MANPAGE_FILE}
COMMAND ${ASCIIDOCTOR} ${FIL} -b manpage -o - > ${MANPAGE_FILE}
DEPENDS ${FIL})

add_custom_command(OUTPUT ${GZ_MANPAGE_FILE}
COMMAND ${GZIP} -c ${MANPAGE_FILE} > ${GZ_MANPAGE_FILE}
DEPENDS ${MANPAGE_FILE})
add_custom_command(OUTPUT ${GZ_MANPAGE_FILE}
COMMAND ${GZIP} -c ${MANPAGE_FILE} > ${GZ_MANPAGE_FILE}
DEPENDS ${MANPAGE_FILE})

list(APPEND GZFILES ${GZ_MANPAGE_FILE})
endforeach()
add_custom_target(adoc_man DEPENDS ${GZFILES})
install(FILES ${GZFILES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man8)
list(APPEND GZFILES ${GZ_MANPAGE_FILE})
endforeach()
add_custom_target(adoc_man DEPENDS ${GZFILES})
install(FILES ${GZFILES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man8)
else()
message(WARNING "asciidoctor not found, building without bpftrace manpage")
add_custom_target(adoc_man)
endif()

0 comments on commit 76a41f3

Please sign in to comment.