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