【CMake】生成项目构建系统

命令格式

使用以下命令生成一个项目构建系统:

1、cmake [<options>] <path-to-source>

使用当前工作目录作为构建树,并使用 <path-to-source> 作为源代码树。指定的路径可以是绝对的,也可以是相对于当前工作目录的。源树必须包含CMakeLists.txt文件,而不能包含CMakeCache.txt文件,因为后者标识了一个现有的构建树。例如:

$ mkdir build ; cd build
$ cmake ../src

2、cmake [<options>] <path-to-existing-build>

使用<path-to-existing-build>作为构建树,并从CMakeCache.txt文件中加载源代码树路径。<path-to-existing-build>可以使绝对路径也可以是相对路径。

$ cd build
$ cmake .

3、cmake [<options>] -S <path-to-source> -B <path-to-build>

<path-to-source>作为源代码树,<path-to-build>作为构建树。

$ cmake -S src -B build

命令选项:

1、-S <path-to-source>

指定源代码树

2、-B

指定构建树

3、-C <initial-cache>

构建之前先预加载脚本填充缓存。指定的是cmake脚本,内部是set命令填充缓存。

4、-D <var>:<type>=<value>, -D <var>=<value>

创建或者更新CMake缓存条目。

上面的写法还可以使用以下形式:-D <var>:<type>=<value>, -D <var>=<value>

5、-U <globbing_expr>

移除通配表达式匹配的条目。通配表达式支持*?

6、-G <generator-name>

指定构建系统生成器。

7、--install-prefix <directory>

指定安装目录,必须是绝对路径。

8、-L[A][H]

列出非高级的缓存变量。

列出所有未被标记为INTERNALADVANCED的缓存变量。A表示同时列出标记为ADVANCED的缓存变量。H表示同时显示每个变量的帮助信息。

9、--log-level=<ERROR|WARNING|NOTICE|STATUS|VERBOSE|DEBUG|TRACE>

设置日志级别。

message命令仅会打印指定的级别或者更高级别的日志。默认日志级别是STATUS

如果想要保存这个配置,可以设置CMAKE_MESSAGE_LOG_LEVEL变量。

posted @ 2024-06-04 07:53  NotReferenced  阅读(101)  评论(0)    收藏  举报