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>...] [-- -i]

其中 <cmake>cmake(1) 命令行工具的位置;<config><parallel><target>CONFIGURATIONPARALLEL_LEVELTARGET 选项(如果有的)提供的值。如果是 Makefile 生成器,并且策略 CMP0061 未设置为 NEW,将会添加尾随选项 -- -i

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

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

build_command(<cachevariable> <makecommand>)

第二个签名已弃用,但仍出于向后兼容的考虑而保留。请改用第一个签名。

它将给定的 <cachevariable> 设置为一个命令行字符串,格式如上,但是没有 --target 选项。忽略 <makecommand> 并且应该为 devenv、nmake、make 或其他用于旧调用的最终用户构建工具的完整路径。

注意

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