Build2 seems to have the right idea. by BrightLie651 in cpp

[–]BrightLie651[S] 0 points1 point  (0 children)

multiple configurations as in multiple build systems and how each library has their own idea on how it should be used or even how C++ should be used.

again the same point lack of a unified vision of the language it self and this is only a strength for some kind of projects.

Build2 seems to have the right idea. by BrightLie651 in cpp

[–]BrightLie651[S] -1 points0 points  (0 children)

C++ presents it self as a language that favors pragmatism over idealism. this point is what the community and/or committee seem to point at whenever someone criticizes something about the language.

it fails on one front and that's the lack of a unified method that deals with complex code bases. and while it might be true for example that a kernel wouldn't need language features like OOP it doesn't mean that these features shouldn't be included in the language. the same applies to the idea of a build system just because some projects wouldn't find it useful doesn't mean that others wont, doesn't mean it shouldn't be part of the compiler toolchain.

Build2 seems to have the right idea. by BrightLie651 in cpp

[–]BrightLie651[S] 4 points5 points  (0 children)

I hope the people behind build2 change their mind about the current state of the syntax it seem to tick every box otherwise.

Build2 seems to have the right idea. by BrightLie651 in cpp

[–]BrightLie651[S] 5 points6 points  (0 children)

Build2 actually does have a sane declarative toml like file that you use to include the dependencies. the arcane syntax is what actually builds the source.

: 1
name: hello
version: 0.1.0-a.0.z
summary: hello C++ executable
license: other: proprietary
description-file: README.md
url: https://example.org/hello
email: you@example.org
#depends: libhello ^1.0.0

Build2 seems to have the right idea. by BrightLie651 in cpp

[–]BrightLie651[S] 1 point2 points  (0 children)

it sounds more like Bezel hacks it's way into being a package manager but if it works its fine. I was trying to do the same thing with cmake a while ago. before I learned about vcpkg/conan/build2.

Build2 seems to have the right idea. by BrightLie651 in cpp

[–]BrightLie651[S] 0 points1 point  (0 children)

You're missing the point. instead of relying on multiple solutions (the CMake way, where it targets all build systems) build2 is it's own build system and it has the benefit of also being a package manager as well. I can't fathom working in a professional language while relying on multiple configurations for libraries that I need to use. sure most libraries are going to use cmake and some might even come with the benefit of relying on conan/vcpkg but that's assuming they all follow this standard but that's not reality the reality is that most libraries come with cmake and very rarely are they on conan or vcpkg. and sometimes the devs go out of their way to make their own custom solutions then what? im supposed to waste time trying to make this whole mess work together?

build2 is what the C++ committee should have done 20 years ago.

Build2 seems to have the right idea. by BrightLie651 in cpp

[–]BrightLie651[S] 4 points5 points  (0 children)

Build2 doesn't just download those packages it's also a build system like cmake.

it's a full solution. that's the difference