Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Use CMake for Non-Interactive Build on Windows?

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.

like image 854
amit kumar Avatar asked Sep 22 '09 11:09

amit kumar


2 Answers

The simplest way I found to doing this was:
% cmake --build "buildDir"
you can also add --target and --config 'Debug|Release|...'

like image 130
Aaditya Kalsi Avatar answered Sep 28 '22 05:09

Aaditya Kalsi


You can run CMake from the command line. You could run.

cmake.exe -G"Visual Studio 8 2005" -H<source_dir> -B<build_dir>

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.

C:\Program Files (x86)\CMake 2.6\bin>cmake
  cmake version 2.6-patch 4
  Usage

  cmake [options] <path-to-source>
  cmake [options] <path-to-existing-build>

  Options
  -C <initial-cache>          = Pre-load a script to populate the cache.
  -D <var>:<type>=<value>     = Create a cmake cache entry.
  -U <globbing_expr>          = Remove matching entries from CMake cache.
  -G <generator-name>         = Specify a makefile generator.
  -Wno-dev                    = Suppress developer warnings.
  -Wdev                       = Enable developer warnings.
  -E                          = CMake command mode.
  -i                          = Run in wizard mode.
  -L[A][H]                    = List non-advanced cached variables.
  -N                          = View mode only.
  -P <file>                   = Process script mode.

Here are the available generators.

Generators

The following generators are available on this platform:
  Borland Makefiles           = Generates Borland makefiles.
  MSYS Makefiles              = Generates MSYS makefiles.
  MinGW Makefiles             = Generates a make file for use with
                                mingw32-make.
  NMake Makefiles             = Generates NMake makefiles.
  Unix Makefiles              = Generates standard UNIX makefiles.
  Visual Studio 6             = Generates Visual Studio 6 project files.
  Visual Studio 7             = Generates Visual Studio .NET 2002 project
                                files.
  Visual Studio 7 .NET 2003   = Generates Visual Studio .NET 2003 project
                                files.
  Visual Studio 8 2005        = Generates Visual Studio .NET 2005 project
                                files.
  Visual Studio 8 2005 Win64  = Generates Visual Studio .NET 2005 Win64
                                project files.
  Visual Studio 9 2008        = Generates Visual Studio 9 2008 project files.
  Visual Studio 9 2008 Win64  = Generates Visual Studio 9 2008 Win64 project
                                files.
  Watcom WMake                = Generates Watcom WMake makefiles.
  CodeBlocks - MinGW Makefiles= Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
  Eclipse CDT4 - MinGW Makefiles
                              = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - NMake Makefiles
                              = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles
                              = Generates Eclipse CDT 4.0 project files.  
like image 32
pkit Avatar answered Sep 28 '22 06:09

pkit