summaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
authorRafael G. Martins <rafael@rafaelmartins.eng.br>2024-05-21 01:29:20 +0200
committerRafael G. Martins <rafael@rafaelmartins.eng.br>2024-05-21 01:29:20 +0200
commitb54b8f5b25403cf3b9623804b2491ec78a8b913e (patch)
tree8100b69a2fd1e37d1eb400a33c92ec3c984f208b /man
parent0bbc18869720ad042b668742ca48e5cb8a37491a (diff)
downloadblogc-b54b8f5b25403cf3b9623804b2491ec78a8b913e.tar.gz
blogc-b54b8f5b25403cf3b9623804b2491ec78a8b913e.tar.bz2
blogc-b54b8f5b25403cf3b9623804b2491ec78a8b913e.zip
build: replace autotools with cmake
this patch removes all the autoconf/automake/libtool build infrastructure and replaces it with cmake. notable default behavior changes: - man pages are not pre-built, and are not built by default, must be enabled with `-DBUILD_MANPAGES=ON`. removed features: - srpm packaging, to be reintroduced at some point. - deb packaging, now handled externally via rafaelmartins/deb.rgm.io more stuff must be missing, please report bugs!
Diffstat (limited to 'man')
-rw-r--r--man/CMakeLists.txt69
1 files changed, 69 insertions, 0 deletions
diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt
new file mode 100644
index 0000000..e5666cd
--- /dev/null
+++ b/man/CMakeLists.txt
@@ -0,0 +1,69 @@
+# SPDX-FileCopyrightText: 2024 Rafael G. Martins <rafael@rafaelmartins.eng.br>
+# SPDX-License-Identifier: BSD-3-Clause
+
+option(BUILD_MANPAGES "Build manpages." OFF)
+if(BUILD_MANPAGES)
+ find_program(RONN ronn REQUIRED)
+
+ set(man1
+ blogc.1
+ blogc-git-receiver.1
+ blogc-make.1
+ blogc-runserver.1
+ )
+
+ set(man5
+ blogcfile.5
+ )
+
+ set(man7
+ blogc-pagination.7
+ blogc-source.7
+ blogc-template.7
+ blogc-toctree.7
+ )
+
+ set(manpages
+ ${man1}
+ ${man5}
+ ${man7}
+ )
+
+ foreach(man ${manpages})
+ add_custom_command(
+ OUTPUT ${man}
+ COMMAND
+ ${RONN}
+ --roff
+ --organization "Rafael G. Martins"
+ --manual "blogc Manual"
+ --output-dir ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/${man}.ronn
+ DEPENDS ${man}.ronn
+ )
+
+ add_custom_target(man-${man}
+ ALL
+ DEPENDS ${man}
+ )
+ endforeach()
+
+ foreach(man ${man1})
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/${man}
+ DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
+ )
+ endforeach()
+ foreach(man ${man5})
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/${man}
+ DESTINATION ${CMAKE_INSTALL_MANDIR}/man5
+ )
+ endforeach()
+ foreach(man ${man7})
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/${man}
+ DESTINATION ${CMAKE_INSTALL_MANDIR}/man7
+ )
+ endforeach()
+endif()