[CMake] Superbuild and Incredibuild

Sascha Zelzer s.zelzer at dkfz-heidelberg.de
Thu Apr 12 12:51:10 EDT 2012


Hi,

We (MITK) have a CMake build system using a "superbuild" process by 
calling ExternalProject_Add() which works great.

Recently, we started evaluating Incredibuild to reduce compile times for 
Windows developers (using VS 2008) but run into troubles with our 
superbuild. The projects which are configured at superbuild build time 
are not distributed across multiple machines.

Has anybody else tried something similar already?

Here are some more details:

The Incredibuild support team made the following sugestions, of which 
only number one seemed feasible for us:

In your build environment, cmake is executing DevEnv, so when built remotely, it tries to execute DevEnv on a remote. This is something that we do not support at the moment.
Here are several alternative options:
1. Call MSBuild instead of Devenv.
2. Run a CMake script to compile the projects (inside CMake) instead of executing a full DevEnv command.
3. Run the entire solution using CMake and instead of VisualStudio and use the XGE Interception interface in order to accelerate it.
4. Separate CMake custom steps and Visual Studio builds into two seperate builds one which is Visual Studio 2008 and the other a CMake build that will be accelerated using the XGE interceptions interface
5. Integrate the solution built by CMake into the VS2008 solution


However, using "BUILD_COMMAND msbuild <project.sln>" in the 
ExternalProject_Add macros leads to a couple of other problems related 
to Visual Studio using the "wrong" msbuild executable or not finding the 
right DLLs to load.

Thanks a lot,

Sascha and Ingmar


More information about the CMake mailing list