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:
		| @@ -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} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user