|
Boost : |
From: ÐмиÑÑий ÐÑÑ
ипов (grisumbras_at_[hidden])
Date: 2024-04-09 14:33:29
вÑ, 9 апÑ. 2024â¯Ð³. в 16:43, Rainer Deyke via Boost <boost_at_[hidden]>:
first. Build systems aren't going anywhere, as well as compiled libraries.
>
> I'm fine with one build system. The one I use to compile my own code.
> I'm not fine with the dozen or so build systems I currently have to use
> to build my dependencies.
This is already solved by package managers. They deal with
dependencies' build systems for you and create "exports" for your
build system.
> You don't recompile the dependencies "all the time". You compile once
> per configuration and recompile when the dependency changes, same as any
> other source file. Your build system takes care of this.
But you do. I would think, most projects are built in CI these days.
CI can get you pre-built binaries for your dependencies. But BMIs are
not redistributable, as we've been told it is not even a goal. The
best you can do in order to not rebuild every module for every job is
CI runner cache.
> This means that there is just one way of configuring a library, by
> defining configuration macros. No messing around with CMake variables
> or command-line arguments for configure scripts or whatever Meson or
> SCons use.
Nothing stops you from using macros even now. E.g. with CMake:
CXXFLAGS=-DMYLIB_MACRO=1 cmake -S. -Bbuild
With b2:
b2 define=MYLIB_MACRO=1
There must be a reason projects prefer to use configuration options
and not macros directly.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk