我正在尝试使用clang-tidy与cmake的集成,我想传递-check
参数。我在调用cmake时尝试添加-DCMAKE_CXX_CLANG_TIDY="/usr/local/opt/llvm38/bin/clang-tidy-3.8;-checks=*"
,但我的makefile命令最终看起来像:
/usr/local/Cellar/cmake/3.6.2/bin/cmake -E __run_iwyu --tidy="/usr/local/opt/llvm38/bin/clang-tidy-3.8;-checks=*" --source=/Users/ellery/work/.....
CXX_CLANG_TIDY
,我得到相同的行为。
是否有人通过cmake成功调用了clang-tidy
其他args?
答案 0 :(得分:3)
它与cmake 3.7.2和clang-tidy 4.0一样正常工作。
E.g。直接在命令行上指定:
cmake -DCMAKE_CXX_CLANG_TIDY="clang-tidy;-style=file;-checks=*"
或在CMakeLists.txt中:
set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-style=file;-checks=*")
你必须确保clang-tidy
参数是正确的,否则它似乎无声地失败。
答案 1 :(得分:1)
一切都是正确的。生成makefile时,CMake不会解析这些参数,但是当makefile执行时。成功编译文件后,将自动执行clang-tidy。
您可以尝试直接在CMakeLists.txt中设置CMAKE_CXX_CLANG_TIDY:
Observable<Integer> dropdownChange = ReactiveUIObservables.selectionChange(myDropdown);
ConnectableObservable<Integer> connectableDropdownChange = dropdownChange.publish();
connectableDropdownChange.subscribe(this::onDropdownChange);
connectableDropdownChange.subscribe(this::doSomething);
connectableDropdownChange.subscribe(this::doSomethingElse);
// start emitting events
connectableDropdownChange.connect();