[CMake] ctest meant to be re-entrant?

Convey, Christian J CIV NUWC NWPT christian.convey at navy.mil
Mon Jun 21 20:19:04 EDT 2010


> But, back to the original subject, if you can re-state what 
> your goal is a little bit, hopefully we can figure out a way 
> to get you there.

Thanks very much.  It's maybe more than can/should be done using "ctest".  That is, some shell scripting might be in order as well...


I have a CDash server set up.  Every night, shortly after midnight, I want a bunch of build machines, running various operating systems, to build and test the software, and report their results to CDash.  

My project consists of two, somewhat-related bodies of source code: MOOS and IVP.  Each has its own CMake-based build system.  Each comes with a shell script that invokes "cmake" with some options, and then "make".  The options supplied to cmake like CMAKE_BUILD_TYPE, CMAKE_CXX_FLAGS_RELEASE, and some application-specific CMake variables.  

If possible, I'd like to ensure that when ctest invokes cmake, the CMake variables mentioned above end up with the same values as they would have if the shell scripts mentioned above had been used to kick of cmake.  This is a relatively low-priority requirement, but it would be nice.

To date I've been ignoring MOOS with regards to CTest.  I do have to build MOOS prior to building IVP, but I wanted to keep things simple for now and just focus on ctest'ing IVP.

Since MOOS and IVP are in separate source trees and are built at separate times, I have no expectation that their building / testing results can end up in the same CDash dashboard.  But it would be awfully nice if they did, because we really see them as two parts of the same product.  It's only an accident of nature that they're not part of the very same CMake build tree.

Furthermore, I want a shell command that I've designed to decide, for each build, what appears in CDash's "Build Name" column.  I want this because "Linux-c++" doesn't sufficiently differentiate the various build platforms I'm using.

If possible, I'd like the CDash report to include a mention of how the sourcecode checkout went.  If the sourcecode checkout fails, I'd like CDash to show that, rather than just having no report from the client that had the problem.

I want a fresh checkout of the source code each time I do this.  Merely updating it isn't clean enough.  Also, I'm using svn.

I'd like to continue specifying my tests by having "ADD_TEST(...)" calls sprinkled throughout my project's CMakeLists.txt files.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5218 bytes
Desc: not available
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100621/e2f73a6f/attachment.bin>


More information about the CMake mailing list