Introduction to CMake
程序员文章站
2022-04-26 11:13:11
...
CMake使用
1.1 CMake简介
CMake是高级编译配置工具,有两大主要功能如下:
- 配置和生成各大平台的工程(vs的vcxproj,Qt的Pro):
比如设置输出目录,设置编译对象的debug后缀,设置源码在工程中的那个文件夹(Filter),配置需要依赖的第三方的头文件目录,库目录等等属性。 - 生成makefile文件:
计算机编译源文件的时候是一条指令一条指令的发送给编译器执行的,这样效率很低下,所以就产生了一种文件,把所有的命令写到一个文件中,这个文件就是makefile。
1.2 如何安装
系统:Mac
1.2.1 安装包安装
这个是我自己实践过的:
- 下载安装包:CMake官网;
- 在终端进入安装包所在目录;
- 终端输入:
./bootstrap
,引导CMake进入存储器(这个阶段需要一点时间,不必着急);
- 终端输入:
make
,维护可执行程序的最新版本; - 终端输入:
sudo make install
,安装 CMake;
- 安装完毕,查看 CMake 的版本;
1.2.2 Homebrew安装
参考自苹果官网Install cmake on Mac OSX,但我没有实践过。
- 终端输入:
ruby -e "$(curl -fsSL https:/ raw.githubusercontent.com/Homebrew/ install/master/install)" < /dev/null 2> /dev/null
- 在输入Mac密码后,终端输入:
brew install cmake
- 安装完毕,现在可以使用 CMake 了;
1.3 如何使用
CMake已经安装成功了,接下来运行一个输出‘’HelloCmake‘’的程序,来对CMake有一个感性认知。
- 准备过程如下:
- 创建项目文件夹 HelloCmake;
- 利用 Sublime (或其它文本编辑器)创建
CmakeList.txt
和main.cpp
文件; - 创建储存编译中间文件的目录
build
并执行cmake ..
;
// CMakeList.txt
cmake_minimum_required(VERSION 3.9)
project(HelloWorld)
set(CMAKE_CXX_STANDARD 11)
add_executable(HelloWorld main.cpp)
//main.cpp
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
- 编译及运行如下:
- 执行
cmake ..
,其中..
表示当前目录的上级目录,即CMakeList.txt
所在目录,编译产生的中间文件都储存于目录build
下; - 在
build
目录下编译make
,生成可执行文件HelloWorld
(由于疏忽,没有在CMakeList.txt
中将项目名称改为HelloCmake
,所以执行文件名字仍为HelloWorld
); - 运行可执行文件
HelloWorld
,正确输出结果;
1.4 参考
上一篇: 浅谈敏捷开发