Spec-Zone.ru › CMake 3.25

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–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.25/variable/CMAKE_CFG_INTDIR.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API