• 0

How to run cpplint recursively for nested directories using glob pattern

If you're using Google's original cpplinter then its difficult to support glob pattern on python version < 3. Google does not maintain the cpplinter. As there are many open PR. There is a Forked of Google's cpplinter which address most of the missing features from the original version and is actively maintained. Once you switch to the Forked version then you can pass --recursive flag to traverse files recursively. For example,

Solution 1 [For Mac / *nix based systems Only]

$python <path_to_cpplint.py> --recursive */*
Here, */* glob pattern tells it to traverse all the nested files.

Solution 2 [ For Windows and *nix based systems ]

$python <path_to_cpplint.py> --recursive <path_to_dir_where_you_want_to_run_linter_recursively>
For example,
  • foo/bar/zoo/a/b/c/app.cpp
  • foo/bar/zoo/a/b/main.cpp
  • foo/bar/zoo/a/pch.h
$python <path_to_cpplint.py> --recursive bar
will lint all three files nested inside bar directory. This approach works on the Mac / *nix based systems, too.