$NetBSD$ Do not generate HTML and PDF documentation Since upstream does not provide any knobs, this would need to be a separate package --- doc/CMakeLists.txt.orig 2026-02-11 14:34:13.795785857 +0000 +++ doc/CMakeLists.txt @@ -44,11 +44,6 @@ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINA file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man1) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man3) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man5) -file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html) -file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/man) -file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/man/man1) -file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/man/man3) -file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/man/man5) # man pages file(GLOB_RECURSE MAN_PAGES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "man*/*.[135]") @@ -85,111 +80,7 @@ foreach(m_src ${MAN_PAGES}) COMMENT "Building ${m_target}" VERBATIM) list(APPEND MAN_PAGE_OUTPUTS ${m_target}) - - # HTML formatted man pages for web viewing - set(m_target ${CMAKE_CURRENT_BINARY_DIR}/html/man/${m_src}.html) - cmake_path(GET m_src STEM image_stem_name) - cmake_path(GET m_target PARENT_PATH m_target_path) - add_custom_command(OUTPUT ${m_target} - COMMAND ${GROFF} -Thtml -t -man -I${CMAKE_CURRENT_SOURCE_DIR_UNIX_FORMAT} -I${CMAKE_CURRENT_BINARY_DIR_UNIX_FORMAT} -P-I${image_stem_name} ${m_src} > ${m_target} - DEPENDS ${m_src} ${MAN_COMMON} - WORKING_DIRECTORY ${m_target_path} - COMMENT "Building ${m_target} in ${m_target_path}" - VERBATIM) - list(APPEND HTML_MAN_PAGE_OUTPUTS ${m_target}) -endforeach() - -# Generate the index page for the HTML formatted man pages -set(i_target ${CMAKE_CURRENT_BINARY_DIR}/html/man/index.html) -set(HTML_MAN_PAGE_INDEX ${i_target}) -add_custom_command(OUTPUT ${HTML_MAN_PAGE_INDEX} - COMMAND ${MAN_HTML_INDEX} ${MAN_PAGES} > ${i_target} - DEPENDS ${MAN_PAGES} ${MAN_COMMON} - COMMENT "Building the HTML man page index" - VERBATIM) - -add_custom_target(man ALL DEPENDS ${MAN_PAGE_OUTPUTS}) -if(NOT WIN32) - # groff which is used to generate HTML formatted man pages relies on underlying - # tools from the netpmb package which is as yet unsupported under MSYS2. - # For now, building HTML web pages only run - add_custom_target(man-html ALL DEPENDS ${HTML_MAN_PAGE_OUTPUTS} ${HTML_MAN_PAGE_INDEX}) -endif() - -# The website -file(GLOB_RECURSE WEBSITE_IMAGES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} - "html/*.png" "html/*.ico") -foreach(i ${WEBSITE_IMAGES}) - configure_file(${i} ${i} COPYONLY) -endforeach() - -file(GLOB_RECURSE WEB_PAGES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "html/*.html") -foreach(w_src ${WEB_PAGES}) - set(w_target ${CMAKE_CURRENT_BINARY_DIR}/${w_src}) - add_custom_command(OUTPUT ${w_target} - COMMAND ${GROFF} -Tascii -t -P-bcu -man -I${CMAKE_CURRENT_SOURCE_DIR} ${w_src} | ${SSP} > ${w_target} - DEPENDS ${w_src} - COMMENT "Building ${w_target}" - VERBATIM) - list(APPEND WEB_PAGE_OUTPUTS ${w_target}) endforeach() -add_custom_target(web-site ALL DEPENDS ${WEB_PAGE_OUTPUTS}) - -# Reference Manual Components -set(REF_INDEX ${CMAKE_CURRENT_BINARY_DIR}/etc/ref-index.so) -add_custom_command(OUTPUT ${REF_INDEX} - COMMAND ${BUILD_REF_INDEX} ${CMAKE_CURRENT_SOURCE_DIR} ${REF_INDEX} ${MAN_PAGES} - DEPENDS ${MAN_PAGES} ${CMAKE_CURRENT_SOURCE_DIR}/script/ref-ptx.ignore ${CMAKE_CURRENT_SOURCE_DIR}/script/ref-ptx1.awk ${CMAKE_CURRENT_SOURCE_DIR}/script/ref-ptx2.awk - COMMENT "Building ${REF_INDEX}" - VERBATIM - ) - -set(REF_PARTS ${CMAKE_CURRENT_BINARY_DIR}/etc/ref-parts.so) -add_custom_command(OUTPUT ${REF_PARTS} - COMMAND ${REF_PTX} ${MAN_PAGES} > ${REF_PARTS} - DEPENDS ${MAN_PAGES} ${CMAKE_CURRENT_SOURCE_DIR}/script/ref-ptx.sh - COMMENT "Building ${REF_PARTS}" - VERBATIM - ) - -set(NEW_CHANGES ${CMAKE_CURRENT_BINARY_DIR}/etc/new.so) -add_custom_command(OUTPUT ${NEW_CHANGES} - COMMAND ${NEW_CH} -r ${NEW_CHANGE_NOTES} > ${NEW_CHANGES} - DEPENDS ${NEW_CHANGE_NOTES} ${CMAKE_CURRENT_SOURCE_DIR}/script/ref-ptx.sh - COMMENT "Building ${NEW_CHANGES}" - VERBATIM - ) - -# Standalone Documents - -# Transform man page(s) (ie troff format files) into a PDF -FUNCTION(ADD_DOC TARGET SOURCE DEPS) - add_custom_command(OUTPUT ${TARGET} - COMMAND ${GROFF} -Tps -s -I${CMAKE_CURRENT_SOURCE_DIR_UNIX_FORMAT} -I${CMAKE_CURRENT_BINARY_DIR_UNIX_FORMAT} -t -man ${SOURCE} > ${TARGET}.ps.tmp - COMMAND ${PAGE_SELECT} ${CMAKE_CURRENT_SOURCE_DIR}/etc/page-list.awk ${TARGET}.ps.tmp ${TARGET}.ps - COMMAND ${PS2PDFEXE} ${TARGET}.ps ${TARGET} - COMMAND rm ${TARGET}.ps ${TARGET}.ps.tmp - DEPENDS ${SOURCE} ${DEPS} - COMMENT "Building ${TARGET}" - VERBATIM) - list(APPEND DOC_TARGETS ${TARGET}) - set(DOC_TARGETS ${DOC_TARGETS} PARENT_SCOPE) -ENDFUNCTION() - -ADD_DOC(${CMAKE_CURRENT_BINARY_DIR}/BUILDING.pdf ${CMAKE_CURRENT_SOURCE_DIR}/etc/BUILDING.man "") -ADD_DOC(${CMAKE_CURRENT_BINARY_DIR}/README.pdf ${CMAKE_CURRENT_SOURCE_DIR}/etc/README.man "${NEW_CHANGES}") -ADD_DOC(${CMAKE_CURRENT_BINARY_DIR}/change_log.pdf ${CMAKE_CURRENT_SOURCE_DIR}/etc/change_log.man "${NEW_CHANGES}") -ADD_DOC(${CMAKE_CURRENT_BINARY_DIR}/reference-${srecord_VERSION_MAJOR}.${srecord_VERSION_MINOR}.pdf - ${CMAKE_CURRENT_SOURCE_DIR}/etc/reference.man "${REF_PARTS};${REF_INDEX};${NEW_CHANGES}") -add_custom_target(doco ALL DEPENDS ${DOC_TARGETS}) - -# Installation -# A copy of the generated PDFs In the docdir for local reference -install(FILES ${DOC_TARGETS} - DESTINATION ${CMAKE_INSTALL_DOCDIR}/) -# Install a copy of the generated PDFs for the website -install(FILES ${DOC_TARGETS} - DESTINATION ${CMAKE_INSTALL_DOCDIR}/htdocs) # Install all the man pages on not-windows if(NOT WIN32) @@ -200,8 +91,3 @@ if(NOT WIN32) FILES_MATCHING PATTERN "*.${i}") endforeach() endif() - -# Install the website -install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ - DESTINATION ${CMAKE_INSTALL_DOCDIR}/htdocs - COMPONENT website)