CMAKE_CFG_INTDIR¶
自 3.21 版本弃用: 此变量对 Ninja Multi-Config 的支持很差,并且早于 $<CONFIG> 生成器表达式的存在。请改用 $<CONFIG>。
构建时对每个配置输出子目录的引用。
对于在构建树中支持多种配置的本机构建系统(例如 Visual Studio Generators 和 Xcode),该值是对指定每个配置名称的构建时变量的引用输出子目录。在 Makefile 生成器 这评估为 . 因为在构建树中只有一个配置。示例值:
$(ConfigurationName) = Visual Studio 9
$(Configuration) = Visual Studio 11 and above
$(CONFIGURATION) = Xcode
. = Make-based tools
. = Ninja
${CONFIGURATION} = 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 的值传递给所有源文件的编译。