Thoughts on the Boost.Build system? (as opposed to CMake?)

Started by
12 comments, last by TAK2004 7 years, 11 months ago

Moving you to our "Build Systems and Source Control" forum. smile.png

- Jason Astle-Adams

Advertisement

I use CMake for work, but I've been using premake (https://premake.github.io/) for personal projects and have been slowly introducing it at work. Premake uses Lua as it's configuration language. I find it much easier to work with than CMake, especially when writing functions to do something complicated.

To answer your original question: when I was looking for alternatives to CMake, I tried bjam, but didn't find it very user friendly. I had used scons for a long time when working on Blender, so I knew that wasn't what I was looking for. I stumbled onto premake and it just worked out really well for me.

cheers,

Bob


[size="3"]Halfway down the trail to Hell...

I just use make and use cygwin to run it on Windows.

You have to add some extra handling to your makefile to use MSVC and have both sets of options for gcc & msvc but at least everything is right next to each other.

Windows 10 has a Linux sub-system that natively runs bash and the GNU tools and Canonical (Ubuntu) provides the tools for it. If I were setting something up new today, that is what I would use.

Everything else just has too many prerequisites for it to be convenient to use across several systems/OS's.

I used scons for a while in the naughts and just ended up going back to make.

The biggest problem today is the old versions of make included with actual/real Linux distributions.

(Make v4+ introduces some features that make writing powerful makefiles simpler.)

- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara

In the past I tried a couple of build systems and they focus on different part of a build pipeline.

CMake for instance shines on the compiler/IDE support but have big issues with the syntax and behaviour of functions/variables in special cases.

premake is the opposite, really good syntax but lacks with support for compiler/IDE.

I tried boost build system only once and didn't like it in any way.

I also worked with php, bash/shell and cmake in the past for more complex projects.

We used php for logic and put the different projects together and cmake to generate the compiler/IDE files.

My answer is use the system you spend least time with to work on your project and not the one which support the most features.

This topic is closed to new replies.

Advertisement