Мой cmake --version
is 2.8.12.2
.Почему -DCMAKE_EXPORT_COMPILE_COMMANDS не создает файл compile_commands.json
настроить мою сборку проекта с этими командами:
cmake ../klein/ -DBUILD_KLEIN_DEPS=1 -DCMAKE_EXPORT_COMPILE_COMMANDS=1
cmake ../klein/ -DBUILD_KLEIN_DEPS=1 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
cmake ../klein/ -DBUILD_KLEIN_DEPS=1 -DCMAKE_EXPORT_COMPILE_COMMANDS=on
CMAKE_EXPORT_COMPILE_COMMANDS=1 cmake ../klein/ -DBUILD_KLEIN_DEPS=1
Из чистой сборки, и из каталога с существующей успешной сборкой. И хотите увидеть файл compiler_commands.json
, но он не отображается.
В какой момент это должно быть создано: после cmake
или после make
команда? Где это должно быть в ./
или в каталоге ../klein
? Мой cmake
ничего не говорит об этой опции, хотя он всегда жалуется на неиспользуемые переменные сборки.
Должен ли он работать из «грязной» директории, где я выполнил одну успешную сборку, или она работает только при новом запуске в пустой папке?
Edit: Я использую генератор по умолчанию «Unix Makefiles» на моей машине Ubuntu Linux
edit2: Я не автор проекта под вопросом (я просто хочу, чтобы исследовать он содержит rtags, для которого требуется файл compile_commands.json), и я не очень хорошо знаком с механикой CMake. Однако CMakeLists.txt, вероятно, сконфигурирован как супер-сборка (он действительно загружает и создает зависимости - например, llvm, z3, ...), и включает в себя ExternalProject, однако он также создает сам проект (klein) из источников. Так что это смесь, как я бы сказал.
На первый взгляд, попробуйте -DCMAKE_EXPORT_COMPILE_COMMANDS: BOOL = ON Тип спецификатор имеет важное значение. – StAlphonzo
Hm. Теперь он жалуется на бесполезность: «Предупреждение CMake: Введенные вручную переменные не использовались проектом: CMAKE_EXPORT_COMPILE_COMMANDS' – Necto
Хм, как это ни странно, я чувствую, что это прогресс. Я еще недостаточно знаю о CMAKE_EXPORT_COMPILE_COMMANDS, но не знаю, как вы его используете внутри. Вы можете рассмотреть следующий поток, если он связан с генератором. http://stackoverflow.com/questions/20059670/how-to-use-cmake-export-compile-commands – StAlphonzo