From: Richard Levitte Date: Mon, 22 Jan 2024 06:49:08 +0000 (+0100) Subject: cmake: use curldown to build man pages X-Git-Tag: curl-8_6_0~58 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ea0b575dab86a3c44dd1d547dc500276266aa382;p=thirdparty%2Fcurl.git cmake: use curldown to build man pages This throws away the previous HTML and PDF producers, to mimic what Makefile.am does as faithfully as possible. Closes #12753 --- diff --git a/docs/THANKS b/docs/THANKS index 88d924f63b..8c3fd27ec3 100644 --- a/docs/THANKS +++ b/docs/THANKS @@ -2355,6 +2355,7 @@ Richard Gorton Richard Gray Richard Hosking Richard Hsu +Richard Levitte Richard Marion Richard Michael Richard Moore diff --git a/docs/libcurl/CMakeLists.txt b/docs/libcurl/CMakeLists.txt index c83b5c91c4..0d52a7e567 100644 --- a/docs/libcurl/CMakeLists.txt +++ b/docs/libcurl/CMakeLists.txt @@ -27,41 +27,27 @@ include("${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake") function(add_manual_pages _listname) foreach(_file IN LISTS ${_listname}) + set(_rofffile "${CMAKE_CURRENT_BINARY_DIR}/${_file}") if(_file STREQUAL "libcurl-symbols.3") # Special case, an auto-generated file. - set(_srcfile "${CMAKE_CURRENT_BINARY_DIR}/${_file}") + string(REPLACE ".3" ".md" _mdfile "${CMAKE_CURRENT_BINARY_DIR}/${_file}") else() - set(_srcfile "${CMAKE_CURRENT_SOURCE_DIR}/${_file}") + string(REPLACE ".3" ".md" _mdfile "${CMAKE_CURRENT_SOURCE_DIR}/${_file}") endif() - string(REPLACE ".3" ".html" _htmlfile "${CMAKE_CURRENT_BINARY_DIR}/${_file}") - add_custom_command(OUTPUT "${_htmlfile}" - COMMAND roffit "--mandir=${CMAKE_CURRENT_SOURCE_DIR}" "${_srcfile}" > "${_htmlfile}" - DEPENDS "${_srcfile}" + add_custom_command(OUTPUT "${_rofffile}" + COMMAND ${PROJECT_SOURCE_DIR}/scripts/cd2nroff ${_mdfile} > ${_rofffile} + DEPENDS "${_mdfile}" VERBATIM ) - - string(REPLACE ".3" ".pdf" _pdffile "${CMAKE_CURRENT_BINARY_DIR}/${_file}") - string(REPLACE ".3" ".ps" _psfile "${CMAKE_CURRENT_BINARY_DIR}/${_file}") - # XXX any reason why groff -Tpdf (for gropdf) is not used? - add_custom_command(OUTPUT "${_pdffile}" - COMMAND groff -Tps -man "${_srcfile}" > "${_psfile}" - COMMAND ps2pdf "${_psfile}" "${_pdffile}" - COMMAND "${CMAKE_COMMAND}" -E remove "${_psfile}" - DEPENDS "${_srcfile}" - #BYPRODUCTS "${_psfile}" - VERBATIM - ) - # "BYPRODUCTS" for add_custom_command requires CMake 3.2. For now hope that - # the temporary files are removed (i.e. the command is not interrupted). endforeach() endfunction() -add_custom_command(OUTPUT libcurl-symbols.3 +add_custom_command(OUTPUT libcurl-symbols.md COMMAND "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/mksymbolsmanpage.pl" < - "${CMAKE_CURRENT_SOURCE_DIR}/symbols-in-versions" > libcurl-symbols.3 + "${CMAKE_CURRENT_SOURCE_DIR}/symbols-in-versions" > libcurl-symbols.md DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/symbols-in-versions" "${CMAKE_CURRENT_SOURCE_DIR}/mksymbolsmanpage.pl" @@ -69,10 +55,10 @@ add_custom_command(OUTPUT libcurl-symbols.3 ) add_manual_pages(man_MANS) - -string(REPLACE ".3" ".html" HTMLPAGES "${man_MANS}") -string(REPLACE ".3" ".pdf" PDFPAGES "${man_MANS}") -add_custom_target(html DEPENDS ${HTMLPAGES}) -add_custom_target(pdf DEPENDS ${PDFPAGES}) +add_custom_target(man ALL DEPENDS ${man_MANS}) +if(NOT CURL_DISABLE_INSTALL) + install(FILES "$" + DESTINATION ${CMAKE_INSTALL_MANDIR}/man3) +endif() add_subdirectory(opts) diff --git a/docs/libcurl/opts/CMakeLists.txt b/docs/libcurl/opts/CMakeLists.txt index 152a08a351..82844a2251 100644 --- a/docs/libcurl/opts/CMakeLists.txt +++ b/docs/libcurl/opts/CMakeLists.txt @@ -26,10 +26,9 @@ transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc. include("${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake") add_manual_pages(man_MANS) - -string(REPLACE ".3" ".html" HTMLPAGES "${man_MANS}") -string(REPLACE ".3" ".pdf" PDFPAGES "${man_MANS}") -add_custom_target(opts-html DEPENDS ${HTMLPAGES}) -add_custom_target(opts-pdf DEPENDS ${PDFPAGES}) -add_dependencies(html opts-html) -add_dependencies(pdf opts-pdf) +add_custom_target(opts-man DEPENDS ${man_MANS}) +add_dependencies(man opts-man) +if(NOT CURL_DISABLE_INSTALL) + install(FILES "$" + DESTINATION ${CMAKE_INSTALL_MANDIR}/man3) +endif()