From 69b958d393ea970705486c1453a45db67163b89c Mon Sep 17 00:00:00 2001 From: Camden Dixie O'Brien Date: Wed, 25 Dec 2024 18:08:55 +0000 Subject: [PATCH] Set up linter --- .clang-tidy | 1 + CMakeLists.txt | 6 ++++++ scripts/lint.sh | 4 ++++ 3 files changed, 11 insertions(+) create mode 100644 .clang-tidy create mode 100755 scripts/lint.sh diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000..3546dbd --- /dev/null +++ b/.clang-tidy @@ -0,0 +1 @@ +Checks: '-*,bugprone-*,-bugprone-easily-swappable-parameters,clang-analyzer-*,readability-*,-readability-braces-around-statements,-readability-magic-numbers,misc-const-correctness,-readability-identifier-length,-readability-isolate-declaration,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-readability-function-cognitive-complexity' diff --git a/CMakeLists.txt b/CMakeLists.txt index 202e440..9a5b240 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,8 @@ project(epec-mcu-emulator LANGUAGES C) option(TESTS "Build unit tests" ON) option(WERROR "Treat warnings as errors" OFF) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + macro(set_default_target_options target) set_property(TARGET ${target} PROPERTY C_STANDARD 11) set_property(TARGET ${target} PROPERTY C_EXTENSIONS OFF) @@ -22,6 +24,10 @@ add_custom_target(check-format COMMAND sh ${CMAKE_SOURCE_DIR}/scripts/check-format.sh WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} ) +add_custom_target(lint + COMMAND sh ${CMAKE_SOURCE_DIR}/scripts/lint.sh + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} +) add_subdirectory(engine) diff --git a/scripts/lint.sh b/scripts/lint.sh new file mode 100755 index 0000000..ee41302 --- /dev/null +++ b/scripts/lint.sh @@ -0,0 +1,4 @@ +scripts_dir=`dirname $0` +sh "$scripts_dir/sources.sh" \ + | xargs -n 1 clang-tidy -p "$scripts_dir/../build" \ + --warnings-as-errors='*'