[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