aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/CMakeLists.txt2
-rw-r--r--docs/libcurl/CMakeLists.txt55
-rw-r--r--docs/libcurl/opts/CMakeLists.txt12
3 files changed, 68 insertions, 1 deletions
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
index 4b111b85a..694861725 100644
--- a/docs/CMakeLists.txt
+++ b/docs/CMakeLists.txt
@@ -1,3 +1,3 @@
#add_subdirectory(examples)
-#add_subdirectory(libcurl)
+add_subdirectory(libcurl)
add_subdirectory(cmdline-opts)
diff --git a/docs/libcurl/CMakeLists.txt b/docs/libcurl/CMakeLists.txt
new file mode 100644
index 000000000..bdbcad45f
--- /dev/null
+++ b/docs/libcurl/CMakeLists.txt
@@ -0,0 +1,55 @@
+# Load man_MANS from shared file
+transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
+include("${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
+
+function(add_manual_pages _listname)
+ foreach(_file IN LISTS ${_listname})
+ if(_file STREQUAL "libcurl-symbols.3")
+ # Special case, an auto-generated file.
+ set(_srcfile "${CMAKE_CURRENT_BINARY_DIR}/${_file}")
+ else()
+ set(_srcfile "${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}"
+ 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
+ COMMAND
+ "${PERL_EXECUTABLE}"
+ "${CMAKE_CURRENT_SOURCE_DIR}/mksymbolsmanpage.pl" <
+ "${CMAKE_CURRENT_SOURCE_DIR}/symbols-in-versions" > libcurl-symbols.3
+ DEPENDS
+ "${CMAKE_CURRENT_SOURCE_DIR}/symbols-in-versions"
+ "${CMAKE_CURRENT_SOURCE_DIR}/mksymbolsmanpage.pl"
+ VERBATIM
+)
+
+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_subdirectory(opts)
diff --git a/docs/libcurl/opts/CMakeLists.txt b/docs/libcurl/opts/CMakeLists.txt
new file mode 100644
index 000000000..24c011180
--- /dev/null
+++ b/docs/libcurl/opts/CMakeLists.txt
@@ -0,0 +1,12 @@
+# Load man_MANS from shared file
+transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
+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)