diff --git a/esphome/components/web_server_idf/__init__.py b/esphome/components/web_server_idf/__init__.py index adf21ddc49..1f195425f5 100644 --- a/esphome/components/web_server_idf/__init__.py +++ b/esphome/components/web_server_idf/__init__.py @@ -2,6 +2,7 @@ from esphome.components.esp32 import ( add_idf_sdkconfig_option, include_builtin_idf_component, ) +from esphome.config_helpers import filter_source_files_from_defines import esphome.config_validation as cv CODEOWNERS = ["@dentra"] @@ -18,3 +19,10 @@ async def to_code(config): # Re-enable esp-tls (excluded by default to save compile time); # web_server_idf.cpp includes for digest auth include_builtin_idf_component("esp-tls") + + +# multipart.cpp is fully #ifdef'd on USE_WEBSERVER_OTA (set by the +# web_server OTA platform); skip it when OTA uploads are not configured. +FILTER_SOURCE_FILES = filter_source_files_from_defines( + {"multipart.cpp": "USE_WEBSERVER_OTA"} +)