mirror of
https://github.com/weechat/weechat.git
synced 2026-06-12 14:14:48 +02:00
doc: make pygmentize optional at build time
If pygmentize is not found, the build now emits a CMake warning and proceeds with an empty dark theme stylesheet rather than aborting. A non-zero exit from pygmentize is also downgraded from SEND_ERROR to WARNING for the same reason. This restores the pre-existing behavior where the documentation could be built without any pygments tooling installed (Asciidoctor then renders code blocks as plain text).
This commit is contained in:
+8
-2
@@ -40,14 +40,20 @@ if(ENABLE_MAN OR ENABLE_DOC)
|
||||
# is generated below and scoped via @media in docinfo.html.in.
|
||||
set(PYGMENTS_LIGHT_STYLE "default")
|
||||
set(PYGMENTS_DARK_STYLE "monokai")
|
||||
find_program(PYGMENTIZE_EXECUTABLE pygmentize REQUIRED)
|
||||
find_program(PYGMENTIZE_EXECUTABLE pygmentize)
|
||||
set(PYGMENTS_DARK_CSS "")
|
||||
if(PYGMENTIZE_EXECUTABLE)
|
||||
execute_process(
|
||||
COMMAND "${PYGMENTIZE_EXECUTABLE}" -O "classprefix=tok-" -f html -a "pre.pygments" -S "${PYGMENTS_DARK_STYLE}"
|
||||
OUTPUT_VARIABLE PYGMENTS_DARK_CSS
|
||||
RESULT_VARIABLE _pygmentize_result
|
||||
)
|
||||
if(NOT _pygmentize_result EQUAL 0)
|
||||
message(SEND_ERROR "Failed to generate pygments CSS for dark theme (style: ${PYGMENTS_DARK_STYLE})")
|
||||
message(WARNING "Failed to generate pygments CSS for dark theme (style: ${PYGMENTS_DARK_STYLE}); doc will be built without dark theme syntax highlighting")
|
||||
set(PYGMENTS_DARK_CSS "")
|
||||
endif()
|
||||
else()
|
||||
message(WARNING "pygmentize not found (install python3-pygments); doc will be built without syntax highlighting colors")
|
||||
endif()
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html.in"
|
||||
|
||||
Reference in New Issue
Block a user