CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。
1.安装
cmake下载地址:[https://cmake.org/download/]
本文使用的是Ubuntu Linux环境,通过apt安装cmake:
$ sudo apt update $ sudo apt install cmake
2.构建和运行
构建如下文件:
. ├── build └── src ├── CMakeLists.txt └── main.c
main.c
1 #include <stdio.h> 2 3 4 int main(void) 5 { 6 printf("hello world.\n"); 7 8 return 0; 9 }
CMakeLists.txt
# 运行此文件的cmake最低版本 cmake_minimum_required(VERSION 3.10) # 设置项目名Tutorial project(Tutorial) # 增加可执行文件Tutorial,由如下文件关联:main.c add_executable(Tutorial main.c)
有两种构建方式(二选一,推荐第二种):
1).内部构建
$ cd ./src $ cmake .
2).外部构建
$ cd ./build $ cmake ../src/
无论是内部构建还是外部构建,都会生成一系列文件,由于平台是Linux,所以会生成Makefile文件。
3).编译
一般使用如下方式:
$ cmake --build .
因为是在Linux环境下,所以也可以使用make编译,如下:
$ make
4).运行
本例编译后生成叫"Tutorial"的可执行文件,直接运行:
$ ./Tutorial
3.说明
1).cmake命令不区分大小写,但是参数、变量区分大小写;
2).参数用空格或分号隔开;
3).使用${VAR}引用变量;
4).引号可加可不加,但如果字符串中有空格则要加引号;
4.概念
1).目标文件(target): 可执行文件(add_executable)、库文件(add_library);
2).命令(cmake-command):用来设置数据的命令;
3).变量(cmake-variable):以"CMAKE_"开头的变量名;
4).属性(cmake-properties):文件/文件夹都有各自的属性;
5.命令
[待补充]
标签:文件,cmake,CMake,编译,构建,规则,编写,main,Tutorial From: https://www.cnblogs.com/phoebus-ma/p/17218398.html