CMAKE_CFG_INTDIR¶
Deprecated since version 3.21: 此变量在 Ninja Multi-Config
上支持不佳,并且早于 $<CONFIG>
生成器表达式的存在。请改用 $<CONFIG>
。
构建时引用每个配置输出子目录。
对于在构建树中支持多配置的本地构建系统(例如 Visual Studio 生成器 和 Xcode
),该值是对构建时变量的引用,该变量指定每个配置输出子目录的名称。在 Makefile 生成器 上,此值评估为 .
,因为构建树中只有一个配置。示例值
|
Visual Studio |
|
Xcode |
|
基于 Make 的工具 |
|
Ninja |
|
Ninja Multi-Config |
由于这些值由本地构建系统评估,因此此变量仅适用于将在构建时评估的命令行。预期用法的示例
add_executable(mytool mytool.c)
add_custom_command(
OUTPUT out.txt
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool
${CMAKE_CURRENT_SOURCE_DIR}/in.txt out.txt
DEPENDS mytool in.txt
)
add_custom_target(drive ALL DEPENDS out.txt)
请注意,CMAKE_CFG_INTDIR
对于此目的不再是必要的,但为了与现有项目兼容而保留了下来。相反,add_custom_command()
在其 COMMAND
选项中识别可执行目标名称,因此 ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool
可以替换为仅 mytool
。
此变量是只读的。设置它是未定义的行为。在多配置构建系统中,此变量的值作为预处理器符号 CMAKE_INTDIR
的值传递给所有源文件的编译。