关于cmake --build .的理解

我会带着你远行 2023-09-25 12:55 119阅读 0赞

cmake —build .

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

cmake项目构建过程简述:

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

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

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

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

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

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

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

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

发表评论

表情:
评论列表 (有 0 条评论,119人围观)

还没有评论,来说两句吧...

相关阅读

    相关 cmakecmake策略

    cmake在添加新特性之后可能不会完全兼容旧的CMake版本,这就导致了在新版本的CMake使用旧的 CMakeLists 文件时可能会存在一些问题。策略大的引入就是帮助用户和

    相关 【工作经验】理解cmake

    一个好的代码需要跨平台,跨操作系统,日常编程,IDE都帮忙做,一条龙服务,集成编译,代码需要编译才能运行,但是比如想与别人分享代码,工程项目无所谓,打包发布给人家就行了,也不用