I want to set up automated build using CMake on Windows. I am using Visual Studio 2005.
Update: Here is what I am using:
I set devenv.exe to my PATH. Then to build I run the command below. I am using Hudson to build.
devenv Crackpot.sln /build Debug /project ALL_BUILD
As per http://blogs.msdn.com/aaronhallberg/archive/2007/06/29/building-from-the-command-line-with-devenv.aspx prefer to use "devenv" and not "denenv.exe" as the latter may spawn a GUI thus hanging the build.
The simplest way I found to doing this was:
% cmake --build "buildDir"
you can also add
--target
and--config 'Debug|Release|...'
This is the bat file I created. It automatically creates the solution in the build folder you specify, each time deleting and creating a new build folder.
I'm not sure if I understand the question. You use it exactly like for any other build system. Just specify "Visual Studio 8 2005" (little bit weird, but you can get a list of all supported systems by calling cmake without parameters) and you'll get a solution that can be built on the command line either with
devenv.exe /build
or with MSBuild.The only thing that is a little bit complicated is if you want to generate the solution when Visual Studio is not installed, like on a build server. You can, of course, just install it, but I prefer not to install things you don't need. In that case, you have to fake it to accept MSBuild as the build command line (by specifying a batch file as build tool at the command line, that just reorders the arguments so MSBuild accepts them), so that it won't start bitching about how it misses Visual Studio (which is so crazy, since the CMake people are from the command-line world...)
Oh, and if what you really want is just to build an existing Visual Studio solution on the command line, you don't need CMake. Just call MSBuild or
devenv /build
.You can run CMake from the command line. You could run.
Below is a snippet from the original command line usage output. Notice that the -H and -B option are not documented there. But they can be used to explicitly define the source and build directories on the command line.
Here are the available generators.