Spec-Zone.ru › CMake

CMAKE_MSVC_DEBUG_INFORMATION_FORMAT

Добавлен в версии 3.25.

Выберите формат отладочной информации MSVC, ориентируясь на MSVC ABI. Эта переменная используется для инициализации свойства MSVC_DEBUG_INFORMATION_FORMAT для всех целевых объектов по мере их создания. Она также передаётся вызовами команды try_compile() в тестовый проект.

Разрешенные значения:

Embedded

Компиляция с флагом -Z7 или его эквивалентом для создания объектных файлов с полной символической отладочной информацией.

ProgramDatabase

Компиляция с флагом -Zi или его эквивалентом для создания базы данных программы, содержащей всю символическую отладочную информацию.

EditAndContinue

Компиляция с флагом -ZI или его эквивалентом для создания базы данных программы, поддерживающей функцию «Редактировать и продолжить».

Значение игнорируется для компиляторов, не ориентированных на MSVC ABI, но недопустимое значение будет отклонено как ошибка при использовании компилятора, ориентированного на MSVC ABI.

Значение также может быть пустой строкой (""), в этом случае CMake явно не добавит флаг формата отладочной информации.

Используйте generator expressions для поддержки задания параметров на конфигурационном уровне. Например, код:

set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<$<CONFIG:Debug,RelWithDebInfo>:ProgramDatabase>")

выбирает для всех последующих целевых объектов формат отладочной информации базы данных программы для конфигурации «Отладка».

Если эта переменная не задана, свойство целевого объекта MSVC_DEBUG_INFORMATION_FORMAT не будет установлено автоматически. Если это свойство не задано, CMake выбирает формат отладочной информации, используя значение по умолчанию $<$<CONFIG:Debug,RelWithDebInfo>:ProgramDatabase>, если поддерживается компилятором, а в противном случае $<$<CONFIG:Debug,RelWithDebInfo>:Embedded>.

Примечание

Эта переменная имеет эффект только тогда, когда политика CMP0141 установлена в значение NEW до первой команды project() или enable_language(), которая включает язык с помощью компилятора, ориентированного на MSVC ABI.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_DEBUG_INFORMATION_FORMAT.html

Spec-Zone.ru

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