mirror of
				https://github.com/esphome/esphome.git
				synced 2025-11-04 00:51:49 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			443 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			443 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
; 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 = esp8266-arduino, esp32-arduino, esp32-idf, bk72xx-arduino
 | 
						|
; Ideally, we want src_dir to be the root directory of the repository, to mimic the runtime build
 | 
						|
; environment as best as possible. Unfortunately, the ESP-IDF toolchain really doesn't like this
 | 
						|
; being the root directory. Instead, set esphome/ as the source directory, all our sources are in
 | 
						|
; there anyway. Set the root directory as the include_dir, so that the esphome/ directory is on the
 | 
						|
; include path.
 | 
						|
src_dir = esphome
 | 
						|
include_dir = .
 | 
						|
 | 
						|
; This are just the build flags as set by the runtime.
 | 
						|
[flags:runtime]
 | 
						|
build_flags =
 | 
						|
    -Wno-unused-but-set-variable
 | 
						|
    -Wno-sign-compare
 | 
						|
 | 
						|
; This are just the build flags for clang-tidy.
 | 
						|
[flags:clangtidy]
 | 
						|
build_flags =
 | 
						|
    -Wall
 | 
						|
    -Wextra
 | 
						|
    -Wunreachable-code
 | 
						|
    -Wfor-loop-analysis
 | 
						|
    -Wshadow-field
 | 
						|
    -Wshadow-field-in-constructor
 | 
						|
    -Wshadow-uncaptured-local
 | 
						|
 | 
						|
; This are common settings for all environments.
 | 
						|
[common]
 | 
						|
lib_deps =
 | 
						|
    esphome/noise-c@0.1.4                  ; api
 | 
						|
    makuna/NeoPixelBus@2.7.3               ; neopixelbus
 | 
						|
    improv/Improv@1.2.4                    ; improv_serial / esp32_improv
 | 
						|
    bblanchon/ArduinoJson@6.18.5           ; json
 | 
						|
    wjtje/qr-code-generator-library@1.7.0  ; qr_code
 | 
						|
    functionpointer/arduino-MLX90393@1.0.2 ; mlx90393
 | 
						|
    pavlodn/HaierProtocol@0.9.31           ; haier
 | 
						|
    kikuchan98/pngle@1.0.2                 ; online_image
 | 
						|
    ; Using the repository directly, otherwise ESP-IDF can't use the library
 | 
						|
    https://github.com/bitbank2/JPEGDEC.git#ca1e0f2    ; online_image
 | 
						|
    ; This is using the repository until a new release is published to PlatformIO
 | 
						|
    https://github.com/Sensirion/arduino-gas-index-algorithm.git#3.2.1 ; Sensirion Gas Index Algorithm Arduino Library
 | 
						|
    lvgl/lvgl@8.4.0                                       ; lvgl
 | 
						|
build_flags =
 | 
						|
    -DESPHOME_LOG_LEVEL=ESPHOME_LOG_LEVEL_VERY_VERBOSE
 | 
						|
src_filter =
 | 
						|
    +<./>
 | 
						|
    +<../tests/dummy_main.cpp>
 | 
						|
    +<../.temp/all-include.cpp>
 | 
						|
lib_ldf_mode = off
 | 
						|
 | 
						|
; This are common settings for all Arduino-framework based environments.
 | 
						|
[common:arduino]
 | 
						|
extends = common
 | 
						|
lib_deps =
 | 
						|
    ${common.lib_deps}
 | 
						|
    SPI                                                   ; spi (Arduino built-in)
 | 
						|
    Wire                                                  ; i2c (Arduino built-int)
 | 
						|
    heman/AsyncMqttClient-esphome@1.0.0                   ; mqtt
 | 
						|
    esphome/ESPAsyncWebServer-esphome@3.3.0               ; web_server_base
 | 
						|
    fastled/FastLED@3.3.2                                 ; fastled_base
 | 
						|
    mikalhart/TinyGPSPlus@1.0.2                           ; gps
 | 
						|
    freekode/TM1651@1.0.1                                 ; tm1651
 | 
						|
    glmnet/Dsmr@0.7                                       ; dsmr
 | 
						|
    rweather/Crypto@0.4.0                                 ; dsmr
 | 
						|
    dudanov/MideaUART@1.1.9                               ; midea
 | 
						|
    tonia/HeatpumpIR@1.0.32                               ; heatpumpir
 | 
						|
build_flags =
 | 
						|
    ${common.build_flags}
 | 
						|
    -DUSE_ARDUINO
 | 
						|
 | 
						|
; This are common settings for all IDF-framework based environments.
 | 
						|
[common:idf]
 | 
						|
extends = common
 | 
						|
build_flags =
 | 
						|
    ${common.build_flags}
 | 
						|
    -DUSE_ESP_IDF
 | 
						|
 | 
						|
; This are common settings for the ESP8266 using Arduino.
 | 
						|
[common:esp8266-arduino]
 | 
						|
extends = common:arduino
 | 
						|
platform = platformio/espressif8266@4.2.1
 | 
						|
platform_packages =
 | 
						|
    platformio/framework-arduinoespressif8266@~3.30102.0
 | 
						|
 | 
						|
framework = arduino
 | 
						|
lib_deps =
 | 
						|
    ${common:arduino.lib_deps}
 | 
						|
    ESP8266WiFi                           ; wifi (Arduino built-in)
 | 
						|
    Update                                ; ota (Arduino built-in)
 | 
						|
    esphome/ESPAsyncTCP-esphome@2.0.0     ; async_tcp
 | 
						|
    ESP8266HTTPClient                     ; http_request (Arduino built-in)
 | 
						|
    ESP8266mDNS                           ; mdns (Arduino built-in)
 | 
						|
    DNSServer                             ; captive_portal (Arduino built-in)
 | 
						|
    droscy/esp_wireguard@0.4.2            ; wireguard
 | 
						|
 | 
						|
build_flags =
 | 
						|
    ${common:arduino.build_flags}
 | 
						|
    -Wno-nonnull-compare
 | 
						|
    -DUSE_ESP8266
 | 
						|
    -DUSE_ESP8266_FRAMEWORK_ARDUINO
 | 
						|
extra_scripts = post:esphome/components/esp8266/post_build.py.script
 | 
						|
 | 
						|
; This are common settings for the ESP32 (all variants) using Arduino.
 | 
						|
[common:esp32-arduino]
 | 
						|
extends = common:arduino
 | 
						|
platform = platformio/espressif32@5.4.0
 | 
						|
platform_packages =
 | 
						|
    platformio/framework-arduinoespressif32@~3.20005.0
 | 
						|
 | 
						|
framework = arduino
 | 
						|
lib_deps =
 | 
						|
    ; order matters with lib-deps; some of the libs in common:arduino.lib_deps
 | 
						|
    ; don't declare built-in libraries as dependencies, so they have to be declared first
 | 
						|
    FS                                   ; web_server_base (Arduino built-in)
 | 
						|
    WiFi                                 ; wifi,web_server_base,ethernet (Arduino built-in)
 | 
						|
    Update                               ; ota,web_server_base (Arduino built-in)
 | 
						|
    ${common:arduino.lib_deps}
 | 
						|
    esphome/AsyncTCP-esphome@2.1.4       ; async_tcp
 | 
						|
    WiFiClientSecure                     ; http_request,nextion (Arduino built-in)
 | 
						|
    HTTPClient                           ; http_request,nextion (Arduino built-in)
 | 
						|
    ESPmDNS                              ; mdns (Arduino built-in)
 | 
						|
    DNSServer                            ; captive_portal (Arduino built-in)
 | 
						|
    esphome/ESP32-audioI2S@2.0.7         ; i2s_audio
 | 
						|
    droscy/esp_wireguard@0.4.2           ; wireguard
 | 
						|
    esphome/esp-audio-libs@1.1.3         ; audio
 | 
						|
 | 
						|
build_flags =
 | 
						|
    ${common:arduino.build_flags}
 | 
						|
    -DUSE_ESP32
 | 
						|
    -DUSE_ESP32_FRAMEWORK_ARDUINO
 | 
						|
    -DAUDIO_NO_SD_FS                ; i2s_audio
 | 
						|
extra_scripts = post:esphome/components/esp32/post_build.py.script
 | 
						|
 | 
						|
; This are common settings for the ESP32 (all variants) using IDF.
 | 
						|
[common:esp32-idf]
 | 
						|
extends = common:idf
 | 
						|
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.06/platform-espressif32.zip
 | 
						|
platform_packages =
 | 
						|
    pioarduino/framework-espidf@https://github.com/pioarduino/esp-idf/releases/download/v5.1.5/esp-idf-v5.1.5.zip
 | 
						|
 | 
						|
framework = espidf
 | 
						|
lib_deps =
 | 
						|
    ${common:idf.lib_deps}
 | 
						|
    droscy/esp_wireguard@0.4.2              ; wireguard
 | 
						|
    kahrendt/ESPMicroSpeechFeatures@1.1.0   ; micro_wake_word
 | 
						|
    esphome/esp-audio-libs@1.1.3            ; audio
 | 
						|
build_flags =
 | 
						|
    ${common:idf.build_flags}
 | 
						|
    -Wno-nonnull-compare
 | 
						|
    -DUSE_ESP32
 | 
						|
    -DUSE_ESP32_FRAMEWORK_ESP_IDF
 | 
						|
extra_scripts = post:esphome/components/esp32/post_build.py.script
 | 
						|
 | 
						|
; This are common settings for the ESP32 using the latest ESP-IDF version.
 | 
						|
[common:esp32-idf-5_3]
 | 
						|
extends = common:esp32-idf
 | 
						|
platform = platformio/espressif32@6.8.0
 | 
						|
platform_packages =
 | 
						|
    platformio/framework-espidf@~3.50300.0
 | 
						|
 | 
						|
; These are common settings for the RP2040 using Arduino.
 | 
						|
[common:rp2040-arduino]
 | 
						|
extends = common:arduino
 | 
						|
board_build.filesystem_size = 0.5m
 | 
						|
 | 
						|
platform = https://github.com/maxgerhardt/platform-raspberrypi.git#v1.2.0-gcc12
 | 
						|
platform_packages =
 | 
						|
    ; earlephilhower/framework-arduinopico@~1.20602.0 ; Cannot use the platformio package until old releases stop getting deleted
 | 
						|
    earlephilhower/framework-arduinopico@https://github.com/earlephilhower/arduino-pico/releases/download/3.9.4/rp2040-3.9.4.zip
 | 
						|
 | 
						|
framework = arduino
 | 
						|
lib_deps =
 | 
						|
    ${common:arduino.lib_deps}
 | 
						|
build_flags =
 | 
						|
    ${common:arduino.build_flags}
 | 
						|
    -DUSE_RP2040
 | 
						|
    -DUSE_RP2040_FRAMEWORK_ARDUINO
 | 
						|
 | 
						|
; This are common settings for the LibreTiny (all variants) using Arduino.
 | 
						|
[common:libretiny-arduino]
 | 
						|
extends = common:arduino
 | 
						|
platform = libretiny
 | 
						|
framework = arduino
 | 
						|
lib_deps =
 | 
						|
    droscy/esp_wireguard@0.4.2    ; wireguard
 | 
						|
build_flags =
 | 
						|
    ${common:arduino.build_flags}
 | 
						|
    -DUSE_LIBRETINY
 | 
						|
build_src_flags = -include Arduino.h
 | 
						|
 | 
						|
; All the actual environments are defined below.
 | 
						|
 | 
						|
;;;;;;;; ESP8266 ;;;;;;;;
 | 
						|
 | 
						|
[env:esp8266-arduino]
 | 
						|
extends = common:esp8266-arduino
 | 
						|
board = nodemcuv2
 | 
						|
build_flags =
 | 
						|
    ${common:esp8266-arduino.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
 | 
						|
[env:esp8266-arduino-tidy]
 | 
						|
extends = common:esp8266-arduino
 | 
						|
board = nodemcuv2
 | 
						|
build_flags =
 | 
						|
    ${common:esp8266-arduino.build_flags}
 | 
						|
    ${flags:clangtidy.build_flags}
 | 
						|
 | 
						|
;;;;;;;; ESP32 ;;;;;;;;
 | 
						|
 | 
						|
[env:esp32-arduino]
 | 
						|
extends = common:esp32-arduino
 | 
						|
board = esp32dev
 | 
						|
board_build.partitions = huge_app.csv
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-arduino.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32
 | 
						|
 | 
						|
[env:esp32-arduino-tidy]
 | 
						|
extends = common:esp32-arduino
 | 
						|
board = esp32dev
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-arduino.build_flags}
 | 
						|
    ${flags:clangtidy.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32
 | 
						|
 | 
						|
[env:esp32-idf]
 | 
						|
extends = common:esp32-idf
 | 
						|
board = esp32dev
 | 
						|
board_build.esp-idf.sdkconfig_path = .temp/sdkconfig-esp32-idf
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-idf.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32
 | 
						|
 | 
						|
[env:esp32-idf-5_3]
 | 
						|
extends = common:esp32-idf-5_3
 | 
						|
board = esp32dev
 | 
						|
board_build.esp-idf.sdkconfig_path = .temp/sdkconfig-esp32-idf
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-idf.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32
 | 
						|
 | 
						|
[env:esp32-idf-tidy]
 | 
						|
extends = common:esp32-idf
 | 
						|
board = esp32dev
 | 
						|
board_build.esp-idf.sdkconfig_path = .temp/sdkconfig-esp32-idf-tidy
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-idf.build_flags}
 | 
						|
    ${flags:clangtidy.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32
 | 
						|
 | 
						|
;;;;;;;; ESP32-C3 ;;;;;;;;
 | 
						|
 | 
						|
[env:esp32c3-arduino]
 | 
						|
extends = common:esp32-arduino
 | 
						|
board = esp32-c3-devkitm-1
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-arduino.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32C3
 | 
						|
 | 
						|
[env:esp32c3-arduino-tidy]
 | 
						|
extends = common:esp32-arduino
 | 
						|
board = esp32-c3-devkitm-1
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-arduino.build_flags}
 | 
						|
    ${flags:clangtidy.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32C3
 | 
						|
 | 
						|
[env:esp32c3-idf]
 | 
						|
extends = common:esp32-idf
 | 
						|
board = esp32-c3-devkitm-1
 | 
						|
board_build.esp-idf.sdkconfig_path = .temp/sdkconfig-esp32c3-idf
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-idf.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32C3
 | 
						|
 | 
						|
[env:esp32c3-idf-5_3]
 | 
						|
extends = common:esp32-idf-5_3
 | 
						|
board = esp32-c3-devkitm-1
 | 
						|
board_build.esp-idf.sdkconfig_path = .temp/sdkconfig-esp32c3-idf
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-idf.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32C3
 | 
						|
 | 
						|
[env:esp32c3-idf-tidy]
 | 
						|
extends = common:esp32-idf
 | 
						|
board = esp32-c3-devkitm-1
 | 
						|
board_build.esp-idf.sdkconfig_path = .temp/sdkconfig-esp32c3-idf-tidy
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-idf.build_flags}
 | 
						|
    ${flags:clangtidy.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32C3
 | 
						|
 | 
						|
;;;;;;;; ESP32-S2 ;;;;;;;;
 | 
						|
 | 
						|
[env:esp32s2-arduino]
 | 
						|
extends = common:esp32-arduino
 | 
						|
board = esp32-s2-kaluga-1
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-arduino.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32S2
 | 
						|
 | 
						|
[env:esp32s2-arduino-tidy]
 | 
						|
extends = common:esp32-arduino
 | 
						|
board = esp32-s2-kaluga-1
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-arduino.build_flags}
 | 
						|
    ${flags:clangtidy.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32S2
 | 
						|
 | 
						|
[env:esp32s2-idf]
 | 
						|
extends = common:esp32-idf
 | 
						|
board = esp32-s2-kaluga-1
 | 
						|
board_build.esp-idf.sdkconfig_path = .temp/sdkconfig-esp32s2-idf
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-idf.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32S2
 | 
						|
 | 
						|
[env:esp32s2-idf-5_3]
 | 
						|
extends = common:esp32-idf-5_3
 | 
						|
board = esp32-s2-kaluga-1
 | 
						|
board_build.esp-idf.sdkconfig_path = .temp/sdkconfig-esp32s2-idf
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-idf.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32S2
 | 
						|
 | 
						|
[env:esp32s2-idf-tidy]
 | 
						|
extends = common:esp32-idf
 | 
						|
board = esp32-s2-kaluga-1
 | 
						|
board_build.esp-idf.sdkconfig_path = .temp/sdkconfig-esp32s2-idf-tidy
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-idf.build_flags}
 | 
						|
    ${flags:clangtidy.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32S2
 | 
						|
 | 
						|
;;;;;;;; ESP32-S3 ;;;;;;;;
 | 
						|
 | 
						|
[env:esp32s3-arduino]
 | 
						|
extends = common:esp32-arduino
 | 
						|
board = esp32-s3-devkitc-1
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-arduino.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32S3
 | 
						|
 | 
						|
[env:esp32s3-arduino-tidy]
 | 
						|
extends = common:esp32-arduino
 | 
						|
board = esp32-s3-devkitc-1
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-arduino.build_flags}
 | 
						|
    ${flags:clangtidy.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32S3
 | 
						|
 | 
						|
[env:esp32s3-idf]
 | 
						|
extends = common:esp32-idf
 | 
						|
board = esp32-s3-devkitc-1
 | 
						|
board_build.esp-idf.sdkconfig_path = .temp/sdkconfig-esp32s3-idf
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-idf.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32S3
 | 
						|
 | 
						|
[env:esp32s3-idf-5_3]
 | 
						|
extends = common:esp32-idf-5_3
 | 
						|
board = esp32-s3-devkitc-1
 | 
						|
board_build.esp-idf.sdkconfig_path = .temp/sdkconfig-esp32s3-idf
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-idf.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32S3
 | 
						|
 | 
						|
[env:esp32s3-idf-tidy]
 | 
						|
extends = common:esp32-idf
 | 
						|
board = esp32-s3-devkitc-1
 | 
						|
board_build.esp-idf.sdkconfig_path = .temp/sdkconfig-esp32s3-idf-tidy
 | 
						|
build_flags =
 | 
						|
    ${common:esp32-idf.build_flags}
 | 
						|
    ${flags:clangtidy.build_flags}
 | 
						|
    -DUSE_ESP32_VARIANT_ESP32S3
 | 
						|
 | 
						|
;;;;;;;; RP2040 ;;;;;;;;
 | 
						|
 | 
						|
[env:rp2040-pico-arduino]
 | 
						|
extends = common:rp2040-arduino
 | 
						|
board = rpipico
 | 
						|
build_flags =
 | 
						|
    ${common:rp2040-arduino.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
 | 
						|
;;;;;;;; LibreTiny ;;;;;;;;
 | 
						|
 | 
						|
[env:bk72xx-arduino]
 | 
						|
extends = common:libretiny-arduino
 | 
						|
board = generic-bk7231n-qfn32-tuya
 | 
						|
build_flags =
 | 
						|
    ${common:libretiny-arduino.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_BK72XX
 | 
						|
    -DUSE_LIBRETINY_VARIANT_BK7231N
 | 
						|
 | 
						|
[env:rtl87xxb-arduino]
 | 
						|
extends = common:libretiny-arduino
 | 
						|
board = generic-rtl8710bn-2mb-788k
 | 
						|
build_flags =
 | 
						|
    ${common:libretiny-arduino.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_RTL87XX
 | 
						|
    -DUSE_LIBRETINY_VARIANT_RTL8710B
 | 
						|
 | 
						|
[env:rtl87xxc-arduino]
 | 
						|
extends = common:libretiny-arduino
 | 
						|
board = generic-rtl8720cf-2mb-992k
 | 
						|
build_flags =
 | 
						|
    ${common:libretiny-arduino.build_flags}
 | 
						|
    ${flags:runtime.build_flags}
 | 
						|
    -DUSE_RTL87XX
 | 
						|
    -DUSE_LIBRETINY_VARIANT_RTL8720C
 | 
						|
 | 
						|
[env:host]
 | 
						|
extends = common
 | 
						|
platform = platformio/native
 | 
						|
lib_deps =
 | 
						|
    esphome/noise-c@0.1.1  ; used by api
 | 
						|
build_flags =
 | 
						|
    ${common.build_flags}
 | 
						|
    -DUSE_HOST
 | 
						|
    -std=c++17
 |