Boost bjam versus GNU make
Asked Answered
A

3

9

I am a newbie to Boost C++ libraries. I was wondering if there are any advantages of Boost bjam over GNU make? And what are the cons if I use make for building C++ code utilizing Boost.Python libraries?

Aerophone answered 17/5, 2009 at 1:17 Comment(2)
I would actually recommend CMake over both.Peremptory
So I, GNU make is a dinosauric program, which is a pain to use INHO. cmake has an easy syntax, good documentation, even a gui and supports various IDEs, such as VS or Xcode.Kirt
G
7

For building boost itself, bjam is the way to go, by far. Just follow the readme and construct the command line. You may (should) only have to do it once per boost release.

But, there's no need whatever to tie your own project that uses boost to boost's build-system.

There are no particular cons to using gmake to build C++ code that uses Boost.Python, and the pro is that there are plenty of examples of using gmake around.

Gourami answered 17/5, 2009 at 19:21 Comment(0)
S
2

If you are going to use other Boost libraries then using bjam may make sense, but, from a simple point of view, make is very complicated to work with, for a complex project, which is why ant, for example was developed.

Bjam extends other projects that started with trying to replace make.

But, on the downside, make is found on every unix OS, bjam isn't, but, if you have to use Boost libraries for your project then you can make certain it is included.

For your project I think bjam may be the best option, but if you were writing a portable project that others would need to compile, using ANSI C++, then I would suggest also supporting GNU Make.

Scriptorium answered 17/5, 2009 at 4:42 Comment(0)
W
0

I've built team shared build frameworks using Make and BJam. My final opinion was that the bjam implementation was easier to maintain, once I learned the basic setup. Team members may be resistant at first, but once they use it and see how it is far simpler than Make (my opinion), they are won over. Some will continue to resist. You can set up dual build systems, but that is extra effort.

When I am forced to use Make, I create non-recursive makefile solutions with central rule sets. BJam has all this built in.

Willywillynilly answered 12/6, 2014 at 16:11 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.