我想建立在Windows上使用CMake的自动生成。 我使用Visual Studio 2005。
更新 :这里是我使用的是什么:
我设置的devenv.exe是我路上。 然后建立我运行下面的命令。 我使用Hudson来构建。
devenv的Crackpot.sln /构建调试/项目ALL_BUILD
按照http://blogs.msdn.com/aaronhallberg/archive/2007/06/29/building-from-the-command-line-with-devenv.aspx喜欢使用“devenv的”,而不是“denenv.exe”因为后者可生成一个GUI从而挂构建。
我不知道如果我理解这个问题。 您可以使用它完全像任何其他构建系统。 只要指定“的Visual Studio 8 2005”(有点怪异,但你可以通过调用不带参数的cmake得到所有支持系统的列表),你会得到可以在命令行上构建的解决方案要么devenv.exe /build
或MSBuild的。
这是一个复杂一点的唯一的事情是,如果你想生成解决方案时的Visual Studio安装不上,像一个生成服务器上。 你可以,当然,只是安装它,但我宁愿不安装的东西你不需要。 在这种情况下,你必须伪造它接受的MSBuild作为构建命令行(通过指定一个批处理文件在命令行编译工具,只是重新排序参数,以便MSBuild的接受它们),所以它不会开始发牢骚它是如何错过的Visual Studio(这是如此疯狂,因为CMake的人都是通过命令行天下...)
哦,如果你真正想要的仅仅是建立在命令行上现有的Visual Studio解决方案,你不需要CMake的。 只需调用的MSBuild或devenv /build
。
最简单的方法,我发现这样做是:
% cmake --build "buildDir"
你也可以添加--target
和--config 'Debug|Release|...'
你可以在命令行中运行CMake的。 你可以运行。
cmake.exe -G"Visual Studio 8 2005" -H<source_dir> -B<build_dir>
下面是从原来的命令行用法输出一个片段。 请注意,-H和-B选项不记录都在这里。 但它们可以被用来明确定义源和建立在命令行上的目录。
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.
以下是可用的发电机。
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.
这是我创建的BAT文件。 它会自动在您指定,每次删除并创建一个新build文件夹中生成文件夹的解决方案。
RMDIR C:\Users\abc /s /q
if EXIST C:\Users\abc GOTO FALIURE
MKDIR C:\Users\abc\build
CD C:\Users\abc\build
cmake -G "Visual Studio 12" "C:\Users\abc\src"
EXIT
:FALIURE
CLS
echo "Failed to delete BUILD directory, Close all related files and programs and try again."
pause
EXIT