mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 17:41:45 +00:00
feat(tidy): Add new FairMQTidy.cmake module
This commit is contained in:
committed by
Dennis Klein
parent
3118934e8b
commit
4fc4498aed
@@ -9,6 +9,7 @@
|
||||
#ifndef FAIR_MQ_TIDY_TOOL
|
||||
#define FAIR_MQ_TIDY_TOOL
|
||||
|
||||
#include <algorithm>
|
||||
#include <clang/ASTMatchers/ASTMatchFinder.h>
|
||||
#include <clang/Basic/FileManager.h>
|
||||
#include <clang/Tooling/CompilationDatabase.h>
|
||||
@@ -58,11 +59,20 @@ struct Tool
|
||||
tool.appendArgumentsAdjuster(
|
||||
[](tooling::CommandLineArguments const &_args, StringRef /*file*/) {
|
||||
tooling::CommandLineArguments args(_args);
|
||||
// TODO add only if cdb was generated with GCC
|
||||
args.emplace(args.begin() + 1, "-I/usr/lib64/clang/12.0.0/include");
|
||||
// TODO add only if missing
|
||||
args.emplace(args.begin() + 1, "-std=c++17");
|
||||
|
||||
auto const no_std_arg_present =
|
||||
std::find_if(cbegin(args),
|
||||
cend(args),
|
||||
[](std::string const &arg) {
|
||||
return arg.find("-std=") != std::string::npos;
|
||||
})
|
||||
== std::cend(args);
|
||||
if (no_std_arg_present) {
|
||||
args.emplace(std::cbegin(args) + 1, "-std=c++17");
|
||||
}
|
||||
|
||||
args.emplace_back("-Wno-everything");
|
||||
|
||||
return args;
|
||||
});
|
||||
|
||||
|
@@ -19,7 +19,7 @@ int main(int argc, const char** argv)
|
||||
{
|
||||
// TODO Replace command line parser with CLI11
|
||||
auto parser(clang::tooling::CommonOptionsParser::create(
|
||||
argc, argv, ToolCategory, llvm::cl::NumOccurrencesFlag::Optional, ""));
|
||||
argc, argv, ToolCategory, llvm::cl::NumOccurrencesFlag::ZeroOrMore, ""));
|
||||
if (!parser) {
|
||||
llvm::errs() << parser.takeError();
|
||||
return EXIT_FAILURE;
|
||||
|
Reference in New Issue
Block a user