首页 > 代码库 > CMake入门

CMake入门

CMake入门

最后更新日期:2014-4-21 bykagula

环境:Windows 8.1 64bit英文版,VisualStudio 203 Update1英文版,CMake 2.8.12.2

正文:    

    CMake是一个跨平台的,开源项目,可以通过CMakeLists.txt 文件产生当前操作系统支持的构建文件(Build System),有了构建文件你就可以在当前操作系统中编译、链接C++源码文件,生成库文件或可执行文件了。例如为 Unix 平台生成 makefiles,为 Windows MSVC 生成Solution/Projects。

 

         本文通过一个WindowsC++ Project Demo,来理解CMake工具的功能和用途,以及如何使用CMake的一个概念。

安装

         从www.cmake.org网站上下载cmake-2.8.12.2-win32-x86.exe并安装,从http://cmaketools.codeplex.com/网站中下载CMakeTools for Visual Studio并安装。

         CMakeTools for Visual Studio是Visual Studio的扩展,是个开源免费的项目,支持CMakeLists.txt文件语法高亮, 还为VisualStudio主菜单Tools菜单项, 添加了[CMake GUI]和[CMake Help]菜单项,方便用户从VisualStudio访问CMake工具和帮助。

 

准备源代码

         首先我们在D分区新建Tmp目录,你也可以是其它路径关键是路径中不能出现中文,否则CMake工具读取文件会失败。

         打开Visual Studio,主菜单[new ]->[File],在D:\Tmp目录下新建CMake_Tutorial1.cpp文件,源文件内容如下:

#include <iostream>

using namespace std;

int main(int argc, wchar_t* argv[])
{
	wcout << L"Hello,World!" << endl;
	
	getchar();
}

使用同样的方式,在D:\Tmp下新建CMakeLists.txt文件,源文件内容如下


project(CMake_Tutorial1)            #这里设置项目名称
cmake_minimum_required(VERSION 2.8) #要求CMake的最低版本为2.8

#用于将当前目录下的所有源文件的名字保存在变量 DIR_SRCS 中
aux_source_directory(. DIR_SRCS)    

#用于指定从一组源文件 source1 source2 … sourceN(在变量DIR_SRCS中定义) 编译出一个可执行文件且命名为CMake_Tutorial1
add_executable(CMake_Tutorial1 ${DIR_SRCS})  

CMakeLists.txt文件指示CMake如何生成构建文件。

    现在d:\tmp目录下已经有了C++源文件和CMakeLists.txt两个文件,那我们d:\tmp目录下建立build文件夹,用来存放CMake生成的构建文件

使用CMake

         在VisualStudio的主菜单[Tools]->[CMakeGUI]中启动CMake图形应用程序,窗口的“Where is the source code”输入项设置为“d:\tmp”,“where to build the binaries”输入项设置为“d:\tmp\build”,点击[Configure]按钮出现“cmake-gui”对话框,在“specifythe generator for this project”中选择“Visual Studio 12”,选中下面的“use default native compilers”单选按钮,点击[Finish]按钮关闭对话框。

         再次点击[Configure]按钮,列表框两条变量定义,背景的红色变为白色,点击[Generate]按钮后,窗口的信息提示框中显示“Configuring done”,“Generating done”提示,现在关闭窗口就可以了。

         现在“D:\tmp\build”目录下CMake已经为我们生成了sln文件,双击它,操作系统打开VisualStudio 2013软件,运行Viisual Studio主菜单下的[Build]->[Build Solution]命令成功后,在“D:\tmp\build\Debug”目录下就生成了“CMake_Tutorial1.exe”文件,进到这个文件夹, 双击“CMake_Tutorial1.exe”就能正常运行。

    在VisualStudio 2013中,单击[Local Windows Debugger]按钮无法启动程序,这不用管它,这里主要是为了了解CMake工具的使用流程,所以达到目的就可以了。

         接下来几篇CMake工具的文章,我会介绍在VisualStudio 2013下做的C++工程,如何通过CMake工具在Linux系统中编译、运行和调用。

参考资料

[1] 《CMake入门》

http://name5566.com/1795.html



CMake入门