Feature/clang tidy (#154)

* First cmake list file, simple docs.

TODO: utils folder.

* Support for building utils

* All fields except HAVE_DOPRNT in place

* Now builds and runs :)

* Added support for clang-tidy, if available.
This commit is contained in:
Thomas Arp 2025-07-02 22:34:57 +02:00 committed by GitHub
parent 3e0c1ccc18
commit f6339b495e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 19 additions and 0 deletions

8
.clang-tidy Normal file
View file

@ -0,0 +1,8 @@
Checks: >
-*,
clang-analyzer-*,
bugprone-*,
performance-*,
portability-*
#WarningsAsErrors: '*'
HeaderFilterRegex: 'src/.*'

View file

@ -34,6 +34,17 @@ if (CMAKE_COMPILER_IS_GNUCC)
endif()
endif()
# clang-tidy if available
find_program(CLANG_TIDY_EXE NAMES clang-tidy)
if(CLANG_TIDY_EXE AND STATIC_ANALYSIS)
message(STATUS "clang-tidy enabled: ${CLANG_TIDY_EXE}")
set(CMAKE_C_CLANG_TIDY "${CLANG_TIDY_EXE}")
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
else()
message(WARNING "clang-tidy not found. Static analysis disabled.")
endif()
# ========== Header checks ==========
check_include_file("fcntl.h" HAVE_FCNTL_H)
check_include_file("errno.h" HAVE_ERRNO_H)