build_command

获取用于构建当前项目的命令行。这主要供 CTest 模块内部使用。

build_command(<variable>
              [CONFIGURATION <config>]
              [PARALLEL_LEVEL <parallel>]
              [TARGET <target>]
              [PROJECT_NAME <projname>] # legacy, causes warning
             )

将给定的 <variable> 设置为如下形式的命令行字符串:

<cmake> --build . [--config <config>] [--parallel <parallel>] [--target <target>...]

其中 <cmake>cmake(1) 命令行工具的位置,<config><parallel><target> 是提供给 CONFIGURATIONPARALLEL_LEVELTARGET 选项的值(如果有)。在 CMake 4.0 之前的版本中,如果策略 CMP0061 未设置为 NEW,则会在末尾添加 -- -i 选项,用于 Makefile 生成器

调用此 cmake --build 命令行将启动底层的构建系统工具。

3.21 版本新增:可以使用 PARALLEL_LEVEL 参数来设置 --parallel 标志。

build_command(<cachevariable> <makecommand>)

第二个签名已被弃用,但为了向后兼容仍然可用。请使用第一个签名。

它将给定的 <cachevariable> 设置为如上的命令行字符串,但不包含 --target 选项。<makecommand> 被忽略,但应该是 devenv、nmake、make 或其他终端用户构建工具的完整路径,用于旧的调用。

注意

在 CMake 3.0 之前的版本中,此命令返回的命令行直接调用当前生成器的本机构建工具。它们对 PROJECT_NAME 选项的实现没有实际效果,因此 CMake 现在会在使用该选项时发出警告。