Spec-Zone.ru › CMake

CMAKE_MSVC_DEBUG_INFORMATION_FORMAT

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

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

Допустимые значения:

Embedded

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

ProgramDatabase

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

EditAndContinue

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

Компиляторы, не предназначенные для ABI MSVC, игнорируют это значение, однако неподдерживаемое значение будет отклонено с ошибкой при использовании компилятора, предназначенного для ABI MSVC.

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

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

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

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

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

Примечание

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

© 2000–2026 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