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,则会为 Makefile Generators 添加一个尾随的 -- -i 选项。

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

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

build_command(<cachevariable> <makecommand>)

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

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

注意

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