Skip to content

developer doc: meson commands could be more helpful #3433

@bhaller

Description

@bhaller

OK, next in my saga. Here's what I just did:

bhaller@glass % meson setup build                                                                                          
The Meson build system
Version: 1.10.1
Source dir: /Users/bhaller/Documents/Research/MesserLab/other software/tskit/c
Build dir: /Users/bhaller/Documents/Research/MesserLab/other software/tskit/c/build
Build type: native build
Project name: tskit
Project version: 1.3.1
C compiler for the host machine: cc (clang 16.0.0 "Apple clang version 16.0.0 (clang-1600.0.26.6)")
C linker for the host machine: cc ld64 1115.7.3
C++ compiler for the host machine: c++ (clang 16.0.0 "Apple clang version 16.0.0 (clang-1600.0.26.6)")
C++ linker for the host machine: c++ ld64 1115.7.3
Host machine cpu family: aarch64
Host machine cpu: aarch64

Executing subproject kastore 

kastore| Project name: kastore
kastore| Project version: 2.1.2
kastore| C compiler for the host machine: cc (clang 16.0.0 "Apple clang version 16.0.0 (clang-1600.0.26.6)")
kastore| C linker for the host machine: cc ld64 1115.7.3
kastore| C++ compiler for the host machine: c++ (clang 16.0.0 "Apple clang version 16.0.0 (clang-1600.0.26.6)")
kastore| C++ linker for the host machine: c++ ld64 1115.7.3
kastore| Build targets in project: 1
kastore| Subproject kastore finished.

Library m found: YES
Found pkg-config: YES (/opt/local/bin/pkg-config) 0.29.2
Run-time dependency cunit found: YES 2.1-3
Run-time dependency threads found: YES
Build targets in project: 22

tskit 1.3.1

  Subprojects
    kastore: YES

Found ninja-1.13.2 at /opt/local/bin/ninja

So, great, I've got meson working, apparently! Next I read:

To setup a debug build add --buildtype=debug to the above command.

Oh, OK – I'd like to have a debug build. So I do this:

bhaller@glass % meson setup build --buildtype=debug
Directory already configured.

Just run your build command (e.g. ninja) and Meson will regenerate as necessary.
Run "meson setup --reconfigure" to force Meson to regenerate.

If build failures persist, run "meson setup --wipe" to rebuild from scratch
using the same options as passed when configuring the build.

Hmm. Sort of sounds ok ("Just run your build command (e.g. ninja) and Meson will regenerate as necessary"), but also sounds like an error ("Directory already configured", and the suggestion that I might want to run meson setup --reconfigure). No doubt I'll make it through this confusion :->, but the issue here is that it would be helpful for the doc to instead say "If you want a non-debug build, do XXXXX, or if you want a debug build, do YYYYY". Phrased in that way, you'd avoid sending the user down the path of making a non-debug build first, then trying (and failing?) to make a debug build because of the previous configuration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions