首页 > 代码库 > cmake

cmake

一、cmake简介

cmake是kitware公司的一个开源项目,诞生于2001年,公司官网地址www.cmake.org。cmake是一个工程构建工具,类似与make,但比make强大,提供跨平台的工程构建,一处编写,处处运行。

二、使用cmake安装软件

随着cmake在工程构建方面的优秀性能,越来越多的项目都有cmake来构建。如何安装由cmake构建的软件或库呢?非常简单,安装cmake这个工具,然后cmake,make,make install就好了。

1、安装cmake

去cmake官网下载相应版本的cmake,www.cmake.org/HTML/Download.html

2、cmake

在软件根目录下,找到CMakelists.txt文件,然后有两种编译方式:内部方式和外部方式

  • cmake .    注意.表示在当前目录下编译,这会使cmake编译过程的中间文件留在根目录中
  • cmake ..   这要先创建一个构建目录bulid(名字随意),进入该目录,..表示父目录,这样编译的中间文件将会放在build目录下

3、make

cmake过后,会在生成相应的Makefile文件,输入make,编译源文件。

4、make install

将编译过后的二进制文件,库文件,doc文件,头文件拷贝到相应的目录里面。注意并不是所有的工程都要make install。

三、使用cmake写工程

cmake中的语法比较简单,但如果不用建议不要一口气全部学了,实际工作中需要什么就去学什么,在实践中学。下面以hello world程序来简单描述cmake的语法。

1、最简单的构建方法

在test文件夹下编写一个main.cpp文件:

1 #include <iostream>
2 using namespace std;
3 
4 int main()
5 {
6     cout << "Hello World" << endl;
7     return 0;
8 }

编写CMakelists.txt文件:

project (Hello)
add_executable (hello main.cpp)

project用来指定工程名字,add_executable用来生成可执行文件。

在cmake中像porject、add_executable都是指令,括号中的为参数。

用法:

  • project (ProjectName)
  • add_executable(ExecutableFileName  File1 File2 ...)

2、一个Hello World库

hello.h

#include <iostream>

void printHello();

 

hello.cpp

#include "hello.h"

void printHello()
{
    cout << "Hello World" << endl;
}

编写CMakelists.txt

相关链接:

官方教程

在linux下使用cmake

cmake practice

 

cmake