使用CMake管理工程

 

1.什么是CMake?

请参考

http://en.wikipedia.org/wiki/CMake

http://www.cmake.org/

简单来讲,CMake是一套跨平台的工程构建工具。传统的*nix下生成Makefile的工具主要是autotools系列。这些工具根据不同的系统可以生成相应的makefile。相比于传统的autotools系列工具。CMake可以根据不同平台下的IDE生成相应的工程文件。目前至少支持makefile,Visual studio系列, eclipse cdt, mingw,和codeblocks等。

2.一个CMake的例子。

假设现在希望生成一个名为Test的工程,包括hello.cpp一个文件(在目录Test下)

1 #include <stdio.h>
2
3 int main(int argc,char **argv)
4 {
5 printf("Hello world!\n");
6 return 0;
7 }

现在希望CMake构建该工程。

首先,CMake需要CMakeLists.txt文件来配置。于是在Test目录下新建CMakeLists.txt文件。

CMakeLists.txt文件内容

PROJECT (Test)
SET(SRC_LIST hello.cpp)
ADD_EXECUTABLE(test ${SRC_LIST})

然后构建项目,在命令行下(对应于windows下的command shell),进入Test目录。

cmake .

即可(注意.表示当前目录)。CMake便会自动生成相应的Makefile(或者visual studio的工程文件)

3, 更多参考

上述例子比较简单,更多CMake的用法可以参考CMake的官方文档和wiki,http://www.cmake.org -->help --> document and wiki

另外,个人感觉CMake的官方文档本身写的很生硬和晦涩。一般性的应用推荐下面这个tutorial

http://sewm.pku.edu.cn/src/paradise/reference/CMake%20Practice.pdf

(其中pdf文件文件第6页最后一行,SRC_LIST应为${SRC_LIST},相信大家很容易可以看出来原文的笔误)

基本上正常使用所需要的内容,上述tutorial 都已包含。而且例子很多,强烈推荐。

原文地址:https://www.cnblogs.com/cute/p/2159454.html