]> granicus.if.org Git - fortune-mod/commitdiff
Convert more manpages to DocBook 5 XML.
authorShlomi Fish <shlomif@shlomifish.org>
Sat, 15 Aug 2020 16:39:57 +0000 (19:39 +0300)
committerShlomi Fish <shlomif@shlomifish.org>
Wed, 16 Sep 2020 11:00:36 +0000 (14:00 +0300)
See:

* https://github.com/shlomif/fortune-mod/issues/41

Made use of doclifter ( http://www.catb.org/~esr/doclifter/ ),
docmake ( https://www.shlomifish.org/open-source/projects/docmake/ ),
cmake, and Perl 5. Thanks!

The current plan is to provide the resultant nroff outputs (or easily 's/.../.../'able
templates of them) inside the source tarballs to avoid a build time dependency on
DocBook XSL and docmake.

fortune-mod/CMakeLists.txt

index 380f8d0cad3cc12fe626c8bbaa38e930be75de7a..d0b8bd5d84187593341b57c6e8d445eb5f495757 100644 (file)
@@ -201,33 +201,26 @@ LIST(APPEND _my_man_pages_list "${_my_man_page}")
 
 INSTALL_RENAME_MAN("fortune.6" "6" "fortune" "${_my_man_page_dir}")
 
-SET (_my_man_page_dir "${CMAKE_CURRENT_SOURCE_DIR}/util")
-SET (_my_man_page "${_my_man_page_dir}/strfile.man")
-SET (_my_man_docbook "${_my_man_page_dir}/strfile.docbook5.xml")
-SET (_my_args "-I${CMAKE_CURRENT_SOURCE_DIR}/util" "-MFortuneMod_GenManPage_App" "-E" "FortuneMod_GenManPage_App-\\>run" "--" "--src-dir" "${CMAKE_CURRENT_SOURCE_DIR}" "--basename=strfile")
-ADD_CUSTOM_COMMAND(
-    OUTPUT "${_my_man_page}"
-    COMMAND "${PERL_EXECUTABLE}"
-    ARGS ${_my_args}
-    DEPENDS "${_my_man_docbook}"
-)
+MACRO(_fortune__generate_manpage basename)
+
+    SET (_my_man_page_dir "${CMAKE_CURRENT_SOURCE_DIR}/util")
+    SET (_my_man_page "${_my_man_page_dir}/${basename}.man")
+    SET (_my_man_docbook "${_my_man_page_dir}/${basename}.docbook5.xml")
+    SET (_my_args "-I${CMAKE_CURRENT_SOURCE_DIR}/util" "-MFortuneMod_GenManPage_App" "-E" "FortuneMod_GenManPage_App-\\>run" "--" "--src-dir" "${CMAKE_CURRENT_SOURCE_DIR}" "--basename=${basename}")
+    ADD_CUSTOM_COMMAND(
+        OUTPUT "${_my_man_page}"
+        COMMAND "${PERL_EXECUTABLE}"
+        ARGS ${_my_args}
+        DEPENDS "${_my_man_docbook}"
+    )
+
+    LIST(APPEND _my_man_pages_list "${_my_man_page}")
+ENDMACRO()
 
-LIST(APPEND _my_man_pages_list "${_my_man_page}")
+_fortune__generate_manpage("strfile")
 INSTALL_RENAME_MAN("strfile.man" "1" "strfile" "${_my_man_page_dir}")
+_fortune__generate_manpage("randstr")
 
-SET (_my_man_page_dir "${CMAKE_CURRENT_SOURCE_DIR}/util")
-SET (_my_man_page "${_my_man_page_dir}/randstr.man")
-SET (_my_man_docbook "${_my_man_page_dir}/randstr.docbook5.xml")
-SET (_my_args "--src-dir" "${CMAKE_CURRENT_SOURCE_DIR}")
-SET (_my_args "-I${CMAKE_CURRENT_SOURCE_DIR}/util" "-MFortuneMod_GenManPage_App" "-E" "FortuneMod_GenManPage_App-\\>run" "--" "--src-dir" "${CMAKE_CURRENT_SOURCE_DIR}" "--basename=randstr")
-ADD_CUSTOM_COMMAND(
-    OUTPUT "${_my_man_page}"
-    COMMAND "${PERL_EXECUTABLE}"
-    ARGS ${_my_args}
-    DEPENDS  "${_my_man_docbook}"
-)
-
-LIST(APPEND _my_man_pages_list "${_my_man_page}")
 ADD_CUSTOM_TARGET(
     generate_man_page
     ALL DEPENDS ${_my_man_pages_list}