1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-30 22:53:59 +00:00

Refactor clang-tidy script to use actual compiler flags and includes (#2133)

Co-authored-by: Otto winter <otto@otto-winter.com>
This commit is contained in:
Oxan van Leeuwen
2021-08-09 22:43:18 +02:00
committed by GitHub
parent 926bcc71ae
commit bf5f846fc6
11 changed files with 131 additions and 109 deletions

View File

@@ -1,12 +1,28 @@
; This file is so that the C++ files in this repo
; can be edited with IDEs like VSCode or CLion
; with the platformio system
; This PlatformIO project is for development purposes *only*: clang-tidy derives its compilation
; database from here, and IDEs like CLion and VSCode also use it. This does not actually create a
; usable binary.
; It's *not* used during runtime.
[platformio]
default_envs = livingroom8266
default_envs = esp8266
src_dir = .
include_dir = include
include_dir =
[runtime]
; This are the flags as set by the runtime.
build_flags =
-Wno-unused-variable
-Wno-unused-but-set-variable
-Wno-sign-compare
[clangtidy]
; This are the flags for clang-tidy.
build_flags =
-Wall
-Wunreachable-code
-Wfor-loop-analysis
-Wshadow-field
-Wshadow-field-in-constructor
[common]
lib_deps =
@@ -19,17 +35,13 @@ lib_deps =
6865@1.0.0 ; TM1651 Battery Display
6306@1.0.3 ; HM3301
build_flags =
-fno-exceptions
-Wno-sign-compare
-Wno-unused-but-set-variable
-Wno-unused-variable
-DCLANG_TIDY
-DESPHOME_LOG_LEVEL=ESPHOME_LOG_LEVEL_VERY_VERBOSE
src_filter =
+<esphome>
+<tests/dummy_main.cpp>
+<.temp/all-include.cpp>
[env:livingroom8266]
[common:esp8266]
; use Arduino framework v2.4.2 for clang-tidy (latest 2.5.2 breaks static code analysis, see #760)
platform = platformio/espressif8266@1.8.0
framework = arduino
@@ -42,7 +54,7 @@ lib_deps =
build_flags = ${common.build_flags}
src_filter = ${common.src_filter}
[env:livingroom32]
[common:esp32]
platform = platformio/espressif32@3.2.0
framework = arduino
board = nodemcu-32s
@@ -56,3 +68,19 @@ build_flags =
src_filter =
${common.src_filter}
-<esphome/components/esp8266_pwm>
[env:esp8266]
extends = common:esp8266
build_flags = ${common:esp8266.build_flags} ${runtime.build_flags}
[env:esp8266-tidy]
extends = common:esp8266
build_flags = ${common:esp8266.build_flags} ${clangtidy.build_flags}
[env:esp32]
extends = common:esp32
build_flags = ${common:esp32.build_flags} ${runtime.build_flags}
[env:esp32-tidy]
extends = common:esp32
build_flags = ${common:esp32.build_flags} ${clangtidy.build_flags}