我试图从sources建立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上安装最新版本?
答案 0 :(得分:12)
clang-tidy旨在llvm/tools/clang
内的clang repo,然后 llvm/tools/clang/tools/extra
内的clang-tools-extra repo。然后,您可以在顶级目录上运行CMake,make clang-tidy
应该可以运行。
如果您对自己构建它不感兴趣,看起来LLb的Homebrew公式还包括额外的工具:https://github.com/Homebrew/homebrew-core/blob/382d3defb5bc48ce2dccd17261be70c4ada9a124/Formula/llvm.rb#L181
答案 1 :(得分:9)
我和Per Mildner有同样的问题。可以通过略微修改的YvesgereY发布代码来解决问题(我没有足够的声誉来为该答案发布评论,因此提供了一个新答案)。
简而言之,我在{{ake}}中添加了-G "Unix Makefiles"
。没有此选项,将不会生成任何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
答案 2 :(得分:8)
@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
。
答案 3 :(得分:4)
最新步骤:
exports = async function(authEvent) {
const mongodb = context.services.get("mongodb-atlas");
const newUsers = mongodb.db("DATABASE").collection("newUsers");
const { user, time } = authEvent;
const newUser = { ...user, eventLog: [ { "created": time } ], access: [{"status": "pending"}] };
await newUsers.insertOne(newUser);
}
参考资料,忍者及其他详细信息:my own blog post.
答案 4 :(得分:1)
对于正在寻找最新 (LLVM 11) Windows 构建说明的每个人(确保在 PATH 中安装并设置了 CMake、Visual Studio 2019 和 git):
git clone --config core.autocrlf=false https://github.com/llvm/llvm-project.git
cd llvm-project
mkdir build
cd build
cmake -G "Visual Studio 16 2019" -Thost=x64 -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" ../llvm
cmake --build . --target clang-tidy --config RelWithDebInfo --parallel
cmake --build . --target clang-query --config RelWithDebInfo --parallel