--- CMakeLists.txt +++ CMakeLists.txt 2026-07-02 23:33:06.000000000 +0800 @@ -444,55 +444,10 @@ endif() # JPEGXL_ENABLE_DOXYGEN if(JPEGXL_ENABLE_MANPAGES) - find_program(ASCIIDOC a2x) if(ASCIIDOC) - file(STRINGS "${ASCIIDOC}" ASCIIDOC_SHEBANG LIMIT_COUNT 1) - if(ASCIIDOC_SHEBANG MATCHES "sh( -e)?$" OR ASCIIDOC_SHEBANG MATCHES "libexec/bin/python$" OR MINGW) - set(ASCIIDOC_PY_FOUND ON) - # Run the program directly and set ASCIIDOC as empty. - set(ASCIIDOC_PY "${ASCIIDOC}") - set(ASCIIDOC "") - elseif(ASCIIDOC_SHEBANG MATCHES "python2") - find_package(Python2 COMPONENTS Interpreter) - set(ASCIIDOC_PY_FOUND "${Python2_Interpreter_FOUND}") - set(ASCIIDOC_PY Python2::Interpreter) - elseif(ASCIIDOC_SHEBANG MATCHES "python3") - find_package(Python3 COMPONENTS Interpreter) - set(ASCIIDOC_PY_FOUND "${Python3_Interpreter_FOUND}") - set(ASCIIDOC_PY Python3::Interpreter) - else() - find_package(Python COMPONENTS Interpreter QUIET) - if(NOT Python_Interpreter_FOUND) - find_program(ASCIIDOC_PY python) - if(ASCIIDOC_PY) - set(ASCIIDOC_PY_FOUND ON) - endif() - else() - set(ASCIIDOC_PY_FOUND "${Python_Interpreter_FOUND}") - set(ASCIIDOC_PY Python::Interpreter) - endif() - endif() - - if (ASCIIDOC_PY_FOUND) - set(MANPAGE_FILES "") - set(MANPAGES "") - foreach(PAGE IN ITEMS cjxl djxl) - # Invoking the Python interpreter ourselves instead of running the a2x binary - # directly is necessary on MSYS2, otherwise it is run through cmd.exe which - # does not recognize it. - add_custom_command( - OUTPUT "${PAGE}.1" - COMMAND "${ASCIIDOC_PY}" - ARGS ${ASCIIDOC} - --format manpage --destination-dir="${CMAKE_CURRENT_BINARY_DIR}" - "${CMAKE_CURRENT_SOURCE_DIR}/doc/man/${PAGE}.txt" - MAIN_DEPENDENCY "${CMAKE_CURRENT_SOURCE_DIR}/doc/man/${PAGE}.txt") - list(APPEND MANPAGE_FILES "${CMAKE_CURRENT_BINARY_DIR}/${PAGE}.1") - list(APPEND MANPAGES "${PAGE}.1") - endforeach() - add_custom_target(manpages ALL DEPENDS ${MANPAGES}) - install(FILES ${MANPAGE_FILES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) - endif() # ASCIIDOC_PY_FOUND + set(ASCIIDOC_PY_FOUND ON) + set(ASCIIDOC_PY "${ASCIIDOC}") + set(ASCIIDOC "") else() message(WARNING "asciidoc was not found, the man pages will not be installed.") endif() # ASCIIDOC