views:

1812

answers:

6

We've got a C++ Project that currently uses Make on Linux to build. I'd like to automate it similar to a Java Project under CruiseControl.

1) Is there a project similar to CruiseControl for C++ projects?

OR

2) Is there a good "how-to" on using CruiseControl for C++ Projects?

+2  A: 

I don't know CruiseControl since we're using TeamCity, but CruiseControl should be able to perform a command line build, i.e. just call Make. There's nothing wrong with that. In TeamCity, it's even easy to add progress notifications to the make file (just output in a specific format), so it doesn't feel very different from "native" projects. I don't know how far CruiseControl goes in this regard.

We have a large C++ project, built with CMake, running on command line and it even reports the unit test results (with Boost::Test) correctly.

Oh, and if CruiseControl does not support a command line runner or project types other than Java, you should have a look at TeamCity as a replacement.

OregonGhost
+1  A: 

We're running Hudson to build a mixture of C++ and Java code, and it works very well. One advantage over CruiseControl is that Hudson has a complete Web interface so you will never have to edit any XML files manually.

JesperE
+5  A: 

I've been looking at setting up CruiseControl for C++ projects on Linux but came across Hudson. It has a one file/one command line setup and you're up and running. The management access is via nice web interface. I highly recommend it.

Hudson compared to CC seems easier to setup and manage plus you have access to build statics, errors/warnings via plugins (drop in directory and they are available) and you can set it up to automatically email when build fails.

I've created shell script that invokes make for each project directory. I pointed Hudson to run that scrip. The build is setup via cron like settings - setup via web interface. I have it checking every 30 minutes for code changes and getting build from perforce and recompiling.

If you're not sure give it a try. It takes only couple of minutes to get up and running. I've downloaded it because I wanted to see what is possible with our current build setup and I've never looked back, it's been running for nearly a year without any problems.

stefanB
A: 

We are using cruisecontrol to build both our C++ and Java projects. Our C++ projects use SCons instead of make and we simply call scons from the cruisecontrol ant script via the exec ant task.

lothar
A: 

We use CruiseControl for C++ projects. We just execute devenv.com in an Ant script using exec to build a solution.

corné
A: 

OregonGhost: How do you get the test results into CruiseControl? What test framework are you using. How does the transformation from a framework result file to a CruiseControl result XML file work? What I wanna do is creating my own XML result in a script that I run from an ant exec task. But I don't understand how this XML file has to be formatted. I would appreciate any help.

matschi