Я пытался построить 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?
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
@jtbandes: Спасибо за информацию.
Я хотел бы поделиться этими явными шагами для нас, новичков:
$ 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).
$ 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
теперь должен быть действительным
$ cd llvm-6.0.1.src
$ mkdir build
$ cd build
$ cmake ..
$ make
Все должно сделать без ошибок или предупреждений.
Результат сборки можно найти в llvm-6.0.1.src/build/bin
,