zl程序教程

您现在的位置是:首页 >  其它

当前栏目

关于cmake --build .的理解

-- 关于 理解 build CMake
2023-09-27 14:20:39 时间

cmake --build .

该命令的含义是:执行当前目录下的构建系统,生成构建目标。

cmake项目构建过程简述:

1. 首先,使用命令行:‘cmake <source tree>’,比如:cmake .. ,在你的构建目录(外部构建方式)下生成了项目文件project files, 官方文档中又叫build tree/binary tree,这其中就包括,比如:Makefile,还有一些其他相关文件/目录/子目录;

2. 其次,自然是对生成好的项目(project files)进行编译构建,使用到的就是你说的'cmake --build .'

3. 最后,--build后面的那个‘.’,指的是生成好的build tree的路径. 一般来说,如果你明确知道,你的系统中使用的是哪种构建器(build generator), 比如:Unix Makefiles, 你完全可以直接使用make进行项目构建.

对于这种--build的形式,多用于自动化脚本之中,或者IDE环境下.

注: <source tree>指的是源文件+顶层CMakeLists所在的路径,cmake ..假设了路径在上一层.

通过cmake ./cmake .. 命令创建Makefile文件后,一般使用make命令编译文件。这里的cmake --build .就与make一样的效果

为什么不直接 make,而是使用 cmake --build 形式的命令,主要是为了跨平台,使用这种形式后,不管你是使用的什么生成器,CMake 都能正确构建,否则如果使用的是 Ninja 或者其他生成器,那 make 就不生效了
 

关于cmake --build .的理解_ASS-ASH的博客-CSDN博客_cmake 和build