CMAKE_EXPORT_COMPILE_COMMANDS
Новое в версии 3.5.
Включить/выключить вывод команд компиляции во время генерации.
При включении генерируется файл compile_commands.json содержащий точные вызовы компилятора для всех единиц трансляции проекта в удобочитаемой форме. Формат JSON файла выглядит следующим образом:
[
{
"directory": "/home/user/development/project",
"command": "/usr/bin/c++ ... -c ../foo/foo.cc",
"file": "../foo/foo.cc"
},
...
{
"directory": "/home/user/development/project",
"command": "/usr/bin/c++ ... -c ../foo/bar.cc",
"file": "../foo/bar.cc"
}
]
Это инициализируется переменной окружения CMAKE_EXPORT_COMPILE_COMMANDS и инициализирует свойство целевого объекта EXPORT_COMPILE_COMMANDS для всех целевых объектов.
Примечание
Этот параметр реализован только генераторами Генераторов Makefile и Ninja. Он игнорируется другими генераторами.
В настоящее время этот параметр не работает хорошо в сочетании со свойством целевого объекта UNITY_BUILD или переменной CMAKE_UNITY_BUILD.
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.21/variable/CMAKE_EXPORT_COMPILE_COMMANDS.html