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/v3.29/variable/CMAKE_MSVC_DEBUG_INFORMATION_FORMAT.html