diff --git a/scripts/build-unit-test-docker b/scripts/build-unit-test-docker
index be27ed9..60a801c 100755
--- a/scripts/build-unit-test-docker
+++ b/scripts/build-unit-test-docker
@@ -98,6 +98,10 @@
         build_type="cmake",
         config_flags=["-DBUILD_TESTING=OFF", "-DCATCH_INSTALL_DOCS=OFF"],
     ),
+    "danmar/cppcheck": PackageDef(
+        rev="27578e9c4c1f90c62b6938867735a054082e178e",
+        build_type="cmake",
+    ),
     "CLIUtils/CLI11": PackageDef(
         rev="v1.9.1",
         build_type="cmake",
@@ -798,7 +802,6 @@
     protobuf-compiler \
     libgpiod-dev \
     device-tree-compiler \
-    cppcheck \
     libpciaccess-dev \
     libmimetic-dev \
     libxml2-utils \
diff --git a/scripts/unit-test.py b/scripts/unit-test.py
index 81ae0fc..ceed920 100755
--- a/scripts/unit-test.py
+++ b/scripts/unit-test.py
@@ -370,36 +370,31 @@
 
 
 def run_cppcheck():
-    match_re = re.compile(r'((?!\.mako\.).)*\.[ch](?:pp)?$', re.I)
-    cppcheck_files = []
-    stdout = subprocess.check_output(['git', 'ls-files'])
-
-    for f in stdout.decode('utf-8').split():
-        if match_re.match(f):
-            cppcheck_files.append(f)
-
-    if not cppcheck_files:
-        # skip cppcheck if there arent' any c or cpp sources.
-        print("no files")
+    if not os.path.exists(os.path.join("build", "compile_commands.json")):
         return None
 
+    try:
+        os.mkdir("cppcheck-temp")
+    except FileExistsError as e:
+        pass
+
     # http://cppcheck.sourceforge.net/manual.pdf
-    params = ['cppcheck', '-j', str(multiprocessing.cpu_count()),
-              '--enable=all', '--library=googletest', '--file-list=-']
-
-    cppcheck_process = subprocess.Popen(
-        params,
-        stdout=subprocess.PIPE,
-        stderr=subprocess.PIPE,
-        stdin=subprocess.PIPE)
-    (stdout, stderr) = cppcheck_process.communicate(
-        input='\n'.join(cppcheck_files).encode('utf-8'))
-
-    if cppcheck_process.wait():
-        raise Exception('Cppcheck failed')
-    print(stdout.decode('utf-8'))
-    print(stderr.decode('utf-8'))
-
+    try:
+        check_call_cmd(
+            'cppcheck',
+            '-j', str(multiprocessing.cpu_count()),
+            '--enable=style,performance,portability,missingInclude',
+            '--suppress=useStlAlgorithm',
+            '--suppress=unusedStructMember',
+            '--suppress=postfixOperator',
+            '--suppress=unreadVariable',
+            '--suppress=knownConditionTrueFalse',
+            '--library=googletest',
+            '--project=build/compile_commands.json',
+            '--cppcheck-build-dir=cppcheck-temp',
+        )
+    except subprocess.CalledProcessError:
+      print("cppcheck found errors")
 
 def is_valgrind_safe():
     """
