simon-git: halibut (main): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Fri Sep 10 16:52:05 BST 2021


TL;DR:
  17d82bc Migrate build system to CMake.

Repository:     https://git.tartarus.org/simon/halibut.git
On the web:     https://git.tartarus.org/?p=simon/halibut.git
Branch updated: main
Committer:      Simon Tatham <anakin at pobox.com>
Date:           2021-09-10 16:52:05

commit 17d82bc300a28e9c21527a7f45948ddcaee12ed2
web diff https://git.tartarus.org/?p=simon/halibut.git;a=commitdiff;h=17d82bc300a28e9c21527a7f45948ddcaee12ed2;hp=47fa6ab6cc0382269b770eebe5092f7e1b61a73e
Author: Simon Tatham <anakin at pobox.com>
Date:   Fri Sep 10 15:38:50 2021 +0100

    Migrate build system to CMake.
    
    I've been heading in this direction for most of my projects recently.
    In Halibut it's less critical than in some of them (in that Halibut
    was pure autotools, and didn't have its own makefile-building script
    requiring a lot of maintenance). But I think it's still a net benefit.
    
    Upsides:
    
     + CMake can treat Windows as a first-class citizen, so it should make
       life a lot easier for anyone wanting to run Halibut on Windows. (In
       particular, this will also make it easy to add per-platform
       handling of things like file names, by having CMake choose which
       platform source file to include.)
    
     + CMake doesn't require a preliminary step of building the configure
       script, so the build instructions now don't have to be confusingly
       different depending on whether a user has cloned the git repository
       or unpacked a distribution tarball.
    
    Downside:
    
     - CMake itself needs to be present to build the program at all,
       unlike autotools which only needs to be there when the tarball was
       built. So this adds an extra build-time dependency for users
       accustomed to using the tarball. However, it's a very standard and
       well-known one these days.

 Buildscr           | 48 ++++++++++++++++----------------------
 CMakeLists.txt     | 58 ++++++++++++++++++++++++++++++++++++++++++++++
 INSTALL            | 58 ++++++----------------------------------------
 Makefile.am        | 65 ----------------------------------------------------
 autogen.sh         |  2 --
 charset            |  2 +-
 configure.ac       | 18 ---------------
 doc/CMakeLists.txt | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 8 files changed, 152 insertions(+), 166 deletions(-)



More information about the tartarus-commits mailing list