<p>Continuous Integration toolchains for .NET, Java, and other languages are relatively well defined, but the C++ market seems to have a lot of diversity.  </p>

<p>By CI "toolchain" I specifically mean tools for the build scripts, automated testing, coding standards checking, etc.</p>

<p>What are C++ teams using for CI toolchains?</p>

[{'answer_id': 25943, 'author': 'Karim', 'author_id': 2494, 'author_profile': 'https://Stackoverflow.com/users/2494', 'pm_score': 2, 'selected': False, 'text': "<p>Visual Build Professional is my favorite tool for pulling together all the other tools.  Windows only, of course, but it integrates with all flavors of Visual Studio and a host of test tools, source controls tools, issue trackers, etc.  It <em>is</em> windows only, though.  I know that's not the entire stack, but it's a start.</p>\n"}, {'answer_id': 27968, 'author': 'Rob Wells', 'author_id': 2974, 'author_profile': 'https://Stackoverflow.com/users/2974', 'pm_score': 1, 'selected': False, 'text': "<p>G'day,</p>\n\n<p>We actually faced this problem at a site where I was contracting previously.</p>\n\n<p>One bloke sat down and wrote tools, mainly shell scripts, to</p>\n\n<ol>\n<li>check out the current code base every hour or so and do a build to check if it was  broken, and</li>\n<li>check out the latest good build and do a complete build and run about 8,000 regression tests.</li>\n</ol>\n\n<p>We just couldn't find anything commercially available to do this and so Charlie sat down and wrote this in bash shell scripts and it was running on HP-UX.</p>\n\n<p>cheers,\nRob</p>\n"}, {'answer_id': 980771, 'author': 'user29159', 'author_id': 29159, 'author_profile': 'https://Stackoverflow.com/users/29159', 'pm_score': 0, 'selected': False, 'text': "<p>As with seemingly every other task in C++, I'm just barely limping along with continuous integration. My setup starts with Eclipse. I set it to generate make files for my projects. I have ant scripts that do the overall build tasks by running 'make all' or 'make clean' on the appropriate makefiles. These ant scripts are part of my project, and I have to update them when I add a new build configuration or a new piece to the system. It's not that bad though. </p>\n\n<p>I use CruiseControl to actually run the builds. Each project (all one of them) has an ant script of its own that performs build specific tasks (copying artifacts, processing results), calling into the project ant script to do the building. </p>\n\n<p>I had to use cppunit for my testing and process the results with an xslt file I found somewhere. I also have the wrong svn revision label on each build because I can't find a suitable svn labeler. All I can find is half-completed years-old code and people arguing that other people are doing it wrong. </p>\n\n<p>It looks to me like CC is a dying system, but I haven't found anything better for C++. Then again, I also feel like C++ is a dying language, so maybe it's bigger than just this. </p>\n"}, {'answer_id': 981764, 'author': 'mattwright', 'author_id': 33106, 'author_profile': 'https://Stackoverflow.com/users/33106', 'pm_score': 3, 'selected': False, 'text': '<p>Another option might be <a href="http://buildbot.net/trac" rel="noreferrer">buildbot</a>.</p>\n\n<p>It\'s written in python, but is not just for python apps. It can execute any script for doing your build.  If you look at their success stories, there appear to be a wide variety of languages.</p>\n'}, {'answer_id': 1726061, 'author': 'Andy Dent', 'author_id': 53870, 'author_profile': 'https://Stackoverflow.com/users/53870', 'pm_score': 0, 'selected': False, 'text': '<p>We used <a href="http://www.scons.org/" rel="nofollow noreferrer">scons</a> for continuous integration run by a central build server. Some projects migrated to <a href="http://buildbot.net/trac" rel="nofollow noreferrer">buildbot</a>.</p>\n\n<p>I\'m now getting into <a href="http://martinfowler.com/articles/rake.html" rel="nofollow noreferrer">rake</a> and considering solutions as surveyed in <a href="http://blog.kirkk.com/index.php?itemid=55" rel="nofollow noreferrer">this blog</a>. Fowler mentions that ThoughtWorks occasionally use rake for their build scripting in his <a href="http://martinfowler.com/articles/continuousIntegration.html" rel="nofollow noreferrer">Continuous Integration</a> article.</p>\n'}, {'answer_id': 4562109, 'author': 'stefano perticoni', 'author_id': 558201, 'author_profile': 'https://Stackoverflow.com/users/558201', 'pm_score': 3, 'selected': False, 'text': '<p>We implemented our C++ cross platform continous integration infrastructure using Parabuild</p>\n\n<p><a href="http://www.viewtier.com/products/parabuild/screenshots.htm" rel="noreferrer">http://www.viewtier.com/products/parabuild/screenshots.htm</a></p>\n\n<p>We were able to integrate every sort of Win/Mac/Linux QA tool with it and it\'s really easy to install and maintain: it\'s one click installation on every platform and the web interface is very handy.</p>\n\n<p>While evaluating several continous integration servers the main problem was that they were Java-biased: Parabuild, on the other hand, fits well in the C++ cross platform development and QA workflow</p>\n'}]
['https://Stackoverflow.com/questions/25902', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1541/']