Portable C++ Build Automation?

Started by
12 comments, last by Zakwayda 16 years, 5 months ago
What do you folks use for C++ build automation these days? I've tried Boost.Build, but I've encountered several show-stopping bugs. I'd prefer using something a little more portable than Microsoft NMake or Microsoft MSBuild/VCBuild if you know what I mean. I'm considering using NAnt, but that still ties me into needing .NET/Mono as a dependency. I'd prefer something with minimal dependencies. Any recommendations?
Advertisement
I use cmake, which generates native build scripts for whatever platform you want, like Makefiles, kdevelop projects, Visual Studio solutions and much more.

To make it is hell. To fail is divine.

Apache Ant requires a JVM, but that's it. The new version of Boost.Build may be buggy, but you should look into an older, more stable version.
I've had nothing but good experiences with NAnt. Using it on a continuous integration server (JetBrains TeamCity) to compile my C++ projects, run unit tests and zip up artifacts.

Having .NET as a dependency is a bit heavy, especially considering that there are some linux distros where Mono isn't easily set up, but so far, on Gentoo, a simple 'emerge nant' got everything running for me :)

-Markus-
Professional C++ and .NET developer trying to break into indie game development.
Follow my progress: http://blog.nuclex-games.com/ or Twitter - Topics: Ogre3D, Blender, game architecture tips & code snippets.
I use SCons. It's very good for me, it is easy to use, but it depends on Python.
Quote:Original post by Sneftel
Apache Ant requires a JVM, but that's it. The new version of Boost.Build may be buggy, but you should look into an older, more stable version.


I'm thinking about using Hudson as the continuous integration server, in which case I will may be using Ant to wire-up and farm out tasks to the different build servers for the various platforms we'll be targeting.

But I'm still not sure if I want to use Ant (or NAnt for the matter) to build the actual C++ based projects.
Quote:Original post by Cygon
I've had nothing but good experiences with NAnt. Using it on a continuous integration server (JetBrains TeamCity) to compile my C++ projects, run unit tests and zip up artifacts.

Having .NET as a dependency is a bit heavy, especially considering that there are some linux distros where Mono isn't easily set up, but so far, on Gentoo, a simple 'emerge nant' got everything running for me :)

-Markus-


TeamCity looks pretty sweet, plus it has a low price tag for commercial use. I have MSVS Team System 2008 Team Suite, although I don't plan on using the Team System Server as it's too heavy for our needs. I'll be checking out the trial for sure.

Thanks.
Quote:Original post by morgue
I use SCons. It's very good for me, it is easy to use, but it depends on Python.


Python is a bit more mature than Mono is, so that's not a problem. SCons looks pretty nifty, something of an object-based build tool. I'll keep investigating.
Quote:Original post by CodeDemon
But I'm still not sure if I want to use Ant (or NAnt for the matter) to build the actual C++ based projects.
Why?
Quote:Original post by Zao
I use cmake, which generates native build scripts for whatever platform you want, like Makefiles, kdevelop projects, Visual Studio solutions and much more.


Sorry, cmake seems just a bit crusty to me. As it essentially generates build files for a target build environment, the dual-stage build process is kind of a pain in the ass.

This topic is closed to new replies.

Advertisement