Как собрать последнюю версию Clang-Tidy?

Я пытался построить Clang-Tidy из источники но он жалуется на неопределенную команду CMake:

CMake Error at clang-apply-replacements/CMakeLists.txt:5 (add_clang_library):
Unknown CMake command "add_clang_library".CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_required command is present.  A line of code such as

cmake_minimum_required(VERSION 3.9)

should be added at the top of the file.  The version specified may be lower
if you wish to support older CMake versions for this project.  For more
information run "cmake --help-policy CMP0000".
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring incomplete, errors occurred!

Как мне собрать clang-tidy или, наоборот, как установить последнюю версию на macOS?

8

Решение

Clang-Tidy предназначен для сборки внутри извлечение из llvm / clang и зависит от макросов CMake из проекта llvm. Вы должны проверить репо llvm, затем репозиторий внутри llvm/tools/clang, затем репозиторий clang-tools-extra внутри llvm/tools/clang/tools/extra, Затем вы можете запустить CMake в каталоге верхнего уровня, и make clang-tidy должно сработать.

Если вы не заинтересованы в его создании, похоже, что формула Homebrew для LLVM также включает дополнительные инструменты: https://github.com/Homebrew/homebrew-core/blob/382d3defb5bc48ce2dccd17261be70c4ada9a124/Formula/llvm.rb#L181

10

Другие решения

@jtbandes: Спасибо за информацию.

Я хотел бы поделиться этими явными шагами для нас, новичков:

1. Загрузите выпущенные источники с Страница загрузки LLVM

2. Зайдите каждый из них в соответствующий каталог:

$ tar -zxvf <download_dir_path>/llvm-6.0.1.src.tar.xz
$ cd llvm-6.0.1.src/tools
$ tar -zxcf <download_dir_path>/cfe-6.0.1.src.tar.xz
$ cd llvm-6.0.1.src/tools/cfe-6.0.1.src/tools
$ tar -zxvf <download_dir_path>/clang-tools-extra-6.0.1.src.tar.xz

Результаты в каталоге llvm-6.0.1.src/tools/cfe-6.0.1.src/tools/clang-tools-extra-6.0.1.src/clang-tidy; Что неверно. lang-tools-extra-6.0.1.src должен быть переименован в extra (как упомянуто @jtbandes).

3. Переименуйте его или предоставьте символическую ссылку:

$ cd llvm-6.0.1.src/tools/cfe-6.0.1.src/tools
$ mv clang-tools-extra-6.0.1.src extra
or
$ ln -s clang-tools-extra-6.0.1.src extra

Путь llvm-6.0.1.src/tools/cfe-6.0.1.src/tools/extra/clang-tidy теперь должен быть действительным

4. Постройте это:

$ cd llvm-6.0.1.src
$ mkdir build
$ cd build
$ cmake ..
$ make

Все должно сделать без ошибок или предупреждений.

5. Построить вывод:

Результат сборки можно найти в llvm-6.0.1.src/build/bin,

5

По вопросам рекламы [email protected]