diff --git a/ament_clang_tidy/ament_clang_tidy/main.py b/ament_clang_tidy/ament_clang_tidy/main.py index 5faa81425..fb0c11fe9 100755 --- a/ament_clang_tidy/ament_clang_tidy/main.py +++ b/ament_clang_tidy/ament_clang_tidy/main.py @@ -55,6 +55,13 @@ def main(argv=sys.argv[1:]): type=int, default=1, help='number of clang-tidy jobs to run in parallel') + parser.add_argument( + '--extra-arg', + type=str, + action='append', + dest='extra_arg', + default=None, + help='Additional argument to append to the compiler command line') # not using a file handle directly # in order to prevent leaving an empty file when something fails early @@ -152,6 +159,9 @@ def invoke_clang_tidy(compilation_db_path): cmd.append('--quiet') if args.system_headers: cmd.append('--system-headers') + if args.extra_arg: + for arg in args.extra_arg: + cmd.append('--extra-arg=' + arg) def is_gtest_source(file_name): if file_name == 'gtest_main.cc' or file_name == 'gtest-all.cc' \ @@ -264,6 +274,9 @@ def start_subprocess(full_cmd): with open(args.xunit_file, 'w') as f: f.write(xml) + if output: + sys.exit(1) + def find_executable(file_names): paths = os.getenv('PATH').split(os.path.pathsep)