[CMake] continuous integration with CMake

Bill Hoffman bill.hoffman at kitware.com
Fri Dec 4 12:09:09 EST 2009


Tyler Roscoe wrote:

> The solution we currently have sounds a lot like your setup: a cron that
> updates the build scripts and then a cron that runs the build scripts.
> Maybe I'm overreacting a bit since my CMake projects are fairly immature
> and we still muck arouund with things quite a bit, but this approach
> looks like it will be fairly labor intensive to maintain once I have
> four projects and twelve platforms to keep tracck of. 
> 
Not that much for what we use it for.   The scripts update themselves 
each day, and run.
> How do you proceed when you're getting close to a release and one of the
> testers comes to your office and says, "Oh, hey, we need debug builds on
> all platforms to track down some weird bug". You can add your debug
> build to your build script, but then you have to visit each machine
> that's running continuous builds, tell them to stop what they're doing
> and reload their configuration so that they can run this one-off build,
> then go back to normal.
> 
Right now we just don't do that.  However, we do have continuous builds 
running on systems that wait for anything to be checked into the version 
control system.   Then they do a build and test.   But, we have no way 
to ask for a specific build.   So, as soon as developers check in code 
there should be a debug build of it on as many machines as you have 
running continuous builds.  So, no need to request the build it just 
happens.
> I could hack around this specific problem, but there are dozens of
> similar scenarios and if each of them involve a bunch of manual steps it
> will rapidly become unpleasant to be a lonely build engineer.
> 
> I understand that CDash isn't really written to solve this class of
> problem, but this class of problem is quite common so I'm hoping others
> out there in the CMake community have found some more robust solutions.
> 

All this said, we are working on, and are very close to adding a build 
management tool to CDash.  It is working internally at Kitware now, and 
we are pushing to get it out soon.  If you want to be a beta tester let 
me know.. :)

-Bill


More information about the CMake mailing list