Author: xazax Date: Mon Nov 6 02:36:02 2017 New Revision: 317468 URL: http://llvm.org/viewvc/llvm-project?rev=317468&view=rev Log: [clang-tidy] Support relative paths in run-clang-tidy.py
Unfortunately, these python scripts are not tested currently. I did the testing manually on LLVM by editing the CMake generated compilation database to contain relative paths for some of the files. Differential Revision: https://reviews.llvm.org/D39603 Modified: clang-tools-extra/trunk/clang-tidy/tool/run-clang-tidy.py Modified: clang-tools-extra/trunk/clang-tidy/tool/run-clang-tidy.py URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/tool/run-clang-tidy.py?rev=317468&r1=317467&r2=317468&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-tidy/tool/run-clang-tidy.py (original) +++ clang-tools-extra/trunk/clang-tidy/tool/run-clang-tidy.py Mon Nov 6 02:36:02 2017 @@ -68,6 +68,12 @@ def find_compilation_database(path): return os.path.realpath(result) +def make_absolute(f, directory): + if os.path.isabs(f): + return f + return os.path.normpath(os.path.join(directory, f)) + + def get_tidy_invocation(f, clang_tidy_binary, checks, tmpdir, build_path, header_filter, extra_arg, extra_arg_before, quiet): """Gets a command line for clang-tidy.""" @@ -223,7 +229,8 @@ def main(): # Load the database and extract all files. database = json.load(open(os.path.join(build_path, db_path))) - files = [entry['file'] for entry in database] + files = [make_absolute(entry['file'], entry['directory']) + for entry in database] max_task = args.j if max_task == 0: _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits