CMAKE_CFG_INTDIR
Устаревшее с версии 3.21: Эта переменная имеет слабую поддержку в Ninja Multi-Config, и предшествует существованию выражения генератора $<CONFIG>. Используйте $<CONFIG> вместо этого.
Справочная информация о подкаталоге вывода конфигурации во время компиляции.
Для систем сборки, поддерживающих несколько конфигураций в дереве сборки (таких как Генераторы Visual Studio и 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 при компиляции всех исходных файлов.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.27/variable/CMAKE_CFG_INTDIR.html