diff options
author | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2024-05-21 01:29:20 +0200 |
---|---|---|
committer | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2024-05-21 01:29:20 +0200 |
commit | b54b8f5b25403cf3b9623804b2491ec78a8b913e (patch) | |
tree | 8100b69a2fd1e37d1eb400a33c92ec3c984f208b /README.md | |
parent | 0bbc18869720ad042b668742ca48e5cb8a37491a (diff) | |
download | blogc-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 'README.md')
-rw-r--r-- | README.md | 46 |
1 files changed, 36 insertions, 10 deletions
@@ -1,24 +1,50 @@ # blogc - - A blog compiler. ## Quickstart -Clone the [Git repository](https://github.com/blogc/blogc) or grab the [latest release](https://github.com/blogc/blogc/releases) and extract it. +Clone the [Git repository](https://github.com/blogc/blogc) or grab the [latest release's source tarball](https://github.com/blogc/blogc/releases) and extract it. -If installing from Git repository, [ronn](https://github.com/rtomayko/ronn) and [GNU Autotools](http://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html) must be installed in the machine. Release tarballs does not have these dependencies and are the recommended way to install. -Inside the source directory, run the following commands: +### Dependencies + +Building `blogc` requires: + +- [CMake](https://cmake.org/) +- [Ninja](https://ninja-build.org/) (optional, but recommended) +- [ronn-ng](https://github.com/apjanke/ronn-ng) (if configured with `BUILD_MANPAGES=ON`) +- [cmocka](https://cmocka.org/) (if configured with `BUILD_TESTING=ON`) +- bash, diff and tee (if configured with `BUILD_TESTING=ON`) +- git, make and tar (if configured with `BUILD_TESTING=ON` and `BUILD_BLOGC_GIT_RECEIVER=ON`) + +Running the `blogc-git-receiver` tool requires: - $ ./autogen.sh # if installing from git - $ ./configure [--enable-git-receiver] [--enable-make] [--enable-runserver] - $ make - # make install +- git, make and tar + + +### Building and installing + +Inside the source directory, run the following commands: -The `./configure` options listed above will enable building of helper tools. To learn more about these tools, please read the man pages. + $ mkdir build + $ cmake \ + -B build \ + -S . \ + -G Ninja \ + [-DBUILD_BLOGC_GIT_RECEIVER=ON] \ + [-DBUILD_BLOGC_MAKE=ON] \ + [-DBUILD_BLOGC_RUNSERVER=ON] \ + [-DBUILD_MANPAGES=ON] \ + [-DBUILD_TESTING=ON] + $ cmake \ + --build build \ + --config Release + # cmake \ + --build build \ + --config Release \ + --target install To create your first blog, please clone our example repository and adapt it to your needs: |