rui*_*eco 16 c++ llvm clang 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!
Run Code Online (Sandbox Code Playgroud)
我怎样才能构建铿锵有力的,或者如何在macOS上安装最新版本?
Yve*_*reY 16
最新步骤:
git clone https://github.com/llvm/llvm-project.git
cd llvm-project
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_ENABLE_PROJECTS="clang-tools-extra" ../llvm
make install-clang-tidy
Run Code Online (Sandbox Code Playgroud)
参考、忍者和其他详细信息:我自己的博客文章。
jtb*_*des 14
clang-tidy旨在构建在 llvm/clang的结帐中,并依赖于llvm项目中的CMake宏.你应该看看llvm repo,然后是里面的clang repo llvm/tools/clang,然后是里面的clang-tools-extra repo llvm/tools/clang/tools/extra.然后你可以在顶级目录上运行CMake,并且make clang-tidy应该可以工作.
如果您对自己构建它不感兴趣,看起来LLb的Homebrew公式还包括额外的工具:https://github.com/Homebrew/homebrew-core/blob/382d3defb5bc48ce2dccd17261be70c4ada9a124/Formula/llvm.rb#L181
nat*_*soz 12
@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
Run Code Online (Sandbox Code Playgroud)
结果在目录中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
Run Code Online (Sandbox Code Playgroud)
该路径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
Run Code Online (Sandbox Code Playgroud)
一切都应该没有错误或警告.
构建输出可以在中找到llvm-6.0.1.src/build/bin.
9cv*_*le3 12
我和 Per Mildner 有同样的问题。通过 YvesgereY 发布的稍加修改的代码解决了 Got(我没有足够的声誉来对该答案发表评论,因此是一个新答案)。
总之,我添加-G "Unix Makefiles"到cmake。如果没有这个选项,就不会生成 makefile。另外,我使用了-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;". 当只指定了 clang-tools-extra 时它不起作用。
这是整个片段:
git clone https://github.com/llvm/llvm-project.git
cd llvm-project
mkdir build
cd build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;" ../llvm
make -j8 install-clang-tidy
Run Code Online (Sandbox Code Playgroud)