@@ -339,129 +339,110 @@ if(CONFIG_SENSOR_CONNECTION_MATTER_OVER_THREAD)
339339 "${MATTER_SDK_PATH} /src/tracing/esp32_trace/include" )
340340 endif ()
341341
342- if (CONFIG_CHIP_ENABLE_EXTERNAL_PLATFORM)
343- # check the source file dir if external platform is enable
344- if ((EXISTS ${CONFIG_CHIP_EXTERNAL_PLATFORM_DIR} /external_platform.cmake))
345- include (${CONFIG_CHIP_EXTERNAL_PLATFORM_DIR} /external_platform.cmake)
346- list (APPEND SRC_DIRS_LIST ${EXPLANT_SRC_DIRS_LIST} )
347- list (APPEND INCLUDE_DIRS_LIST ${EXPLANT_INCLUDE_DIRS_LIST} )
348- list (APPEND EXCLUDE_SRCS_LIST ${EXPLANT_EXCLUDE_SRCS_LIST} )
349- else ()
350- message (
351- FATAL_ERROR
352- "CONFIG_CHIP_ENABLE_EXTERNAL_PLATFORM is set, but CONFIG_CHIP_EXTERNAL_PLATFORM_DIR is not set correctly!"
353- )
354- endif ()
355- else ()
356- list (APPEND SRC_DIRS_LIST "${MATTER_SDK_PATH} /src/platform/ESP32"
357- "${MATTER_SDK_PATH} /src/platform/ESP32/route_hook" )
342+ list (APPEND SRC_DIRS_LIST "${MATTER_SDK_PATH} /src/platform/ESP32"
343+ "${MATTER_SDK_PATH} /src/platform/ESP32/route_hook" )
358344
345+ list (
346+ APPEND
347+ INCLUDE_DIRS_LIST
348+ "${MATTER_SDK_PATH} /src/platform/ESP32"
349+ "${MATTER_SDK_PATH} /src/platform/ESP32/bluedroid"
350+ "${MATTER_SDK_PATH} /src/platform/ESP32/nimble"
351+ "${MATTER_SDK_PATH} /src/platform/ESP32/route_hook" )
352+
353+ if (CONFIG_USE_MINIMAL_MDNS)
354+ list (APPEND EXCLUDE_SRCS_LIST
355+ "${MATTER_SDK_PATH} /src/platform/ESP32/DnssdImpl.cpp" )
356+ endif ()
357+
358+ if ((CONFIG_USE_MINIMAL_MDNS) OR ((NOT CONFIG_ENABLE_WIFI_STATION)
359+ AND (NOT CONFIG_ENABLE_WIFI_AP)))
360+ list (APPEND EXCLUDE_SRCS_LIST
361+ "${MATTER_SDK_PATH} /src/platform/ESP32/WiFiDnssdImpl.cpp" )
362+ endif ()
363+
364+ if ((NOT CONFIG_ENABLE_WIFI_STATION) AND (NOT CONFIG_ENABLE_WIFI_AP))
359365 list (
360366 APPEND
361- INCLUDE_DIRS_LIST
362- "${MATTER_SDK_PATH} /src/platform/ESP32"
363- "${MATTER_SDK_PATH} /src/platform/ESP32/bluedroid"
364- "${MATTER_SDK_PATH} /src/platform/ESP32/nimble"
365- "${MATTER_SDK_PATH} /src/platform/ESP32/route_hook" )
367+ EXCLUDE_SRCS_LIST
368+ "${MATTER_SDK_PATH} /src/platform/ESP32/ConnectivityManagerImpl_WiFi.cpp"
369+ "${MATTER_SDK_PATH} /src/platform/ESP32/NetworkCommissioningDriver.cpp"
370+ "${MATTER_SDK_PATH} /src/platform/ESP32/route_hook/ESP32RouteHook.c"
371+ "${MATTER_SDK_PATH} /src/platform/ESP32/route_hook/ESP32RouteTable.c" )
372+ endif ()
366373
367- if (CONFIG_USE_MINIMAL_MDNS)
368- list (APPEND EXCLUDE_SRCS_LIST
369- "${MATTER_SDK_PATH} /src/platform/ESP32/DnssdImpl.cpp" )
370- endif ()
374+ if (NOT CONFIG_ENABLE_ROUTE_HOOK)
375+ list (APPEND EXCLUDE_SRCS_LIST
376+ "${MATTER_SDK_PATH} /src/platform/ESP32/route_hook/ESP32RouteHook.c"
377+ "${MATTER_SDK_PATH} /src/platform/ESP32/route_hook/ESP32RouteTable.c" )
378+ endif ()
371379
372- if ((CONFIG_USE_MINIMAL_MDNS) OR ((NOT CONFIG_ENABLE_WIFI_STATION)
373- AND (NOT CONFIG_ENABLE_WIFI_AP)))
380+ if ((CONFIG_BT_ENABLED) AND (CONFIG_ENABLE_CHIPOBLE))
381+ if (CONFIG_BT_NIMBLE_ENABLED)
382+ list (APPEND SRC_DIRS_LIST "${MATTER_SDK_PATH} /src/platform/ESP32/nimble" )
374383 list (APPEND EXCLUDE_SRCS_LIST
375- "${MATTER_SDK_PATH} /src/platform/ESP32/WiFiDnssdImpl.cpp" )
376- endif ()
377-
378- if ((NOT CONFIG_ENABLE_WIFI_STATION) AND (NOT CONFIG_ENABLE_WIFI_AP))
379- list (
380- APPEND
381- EXCLUDE_SRCS_LIST
382- "${MATTER_SDK_PATH} /src/platform/ESP32/ConnectivityManagerImpl_WiFi.cpp"
383- "${MATTER_SDK_PATH} /src/platform/ESP32/NetworkCommissioningDriver.cpp"
384- "${MATTER_SDK_PATH} /src/platform/ESP32/route_hook/ESP32RouteHook.c"
385- "${MATTER_SDK_PATH} /src/platform/ESP32/route_hook/ESP32RouteTable.c" )
386- endif ()
387-
388- if (NOT CONFIG_ENABLE_ROUTE_HOOK)
384+ "${MATTER_SDK_PATH} /src/platform/ESP32/bluedroid/BLEManagerImpl.cpp" )
385+ if (NOT CONFIG_ENABLE_ESP32_BLE_CONTROLLER)
386+ list (
387+ APPEND
388+ EXCLUDE_SRCS_LIST
389+ "${MATTER_SDK_PATH} /src/platform/ESP32/bluedroid/ChipDeviceScanner.cpp"
390+ )
391+ endif ()
392+ else ()
393+ list (APPEND SRC_DIRS_LIST
394+ "${MATTER_SDK_PATH} /src/platform/ESP32/bluedroid" )
389395 list (APPEND EXCLUDE_SRCS_LIST
390- "${MATTER_SDK_PATH} /src/platform/ESP32/route_hook/ESP32RouteHook.c"
391- "${MATTER_SDK_PATH} /src/platform/ESP32/route_hook/ESP32RouteTable.c" )
392- endif ()
393-
394- if ((CONFIG_BT_ENABLED) AND (CONFIG_ENABLE_CHIPOBLE))
395- if (CONFIG_BT_NIMBLE_ENABLED)
396- list (APPEND SRC_DIRS_LIST
397- "${MATTER_SDK_PATH} /src/platform/ESP32/nimble" )
396+ "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/BLEManagerImpl.cpp" )
397+ if (NOT CONFIG_ENABLE_ESP32_BLE_CONTROLLER)
398398 list (
399- APPEND EXCLUDE_SRCS_LIST
400- "${MATTER_SDK_PATH} /src/platform/ESP32/bluedroid/BLEManagerImpl.cpp" )
401- if (NOT CONFIG_ENABLE_ESP32_BLE_CONTROLLER)
402- list (
403- APPEND
404- EXCLUDE_SRCS_LIST
405- "${MATTER_SDK_PATH} /src/platform/ESP32/bluedroid/ChipDeviceScanner.cpp"
406- )
407- endif ()
408- else ()
409- list (APPEND SRC_DIRS_LIST
410- "${MATTER_SDK_PATH} /src/platform/ESP32/bluedroid" )
411- list (APPEND EXCLUDE_SRCS_LIST
412- "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/BLEManagerImpl.cpp" )
413- if (NOT CONFIG_ENABLE_ESP32_BLE_CONTROLLER)
414- list (
415- APPEND
416- EXCLUDE_SRCS_LIST
417- "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/ChipDeviceScanner.cpp"
418- "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/misc.c"
419- "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/peer.c" )
420- endif ()
399+ APPEND
400+ EXCLUDE_SRCS_LIST
401+ "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/ChipDeviceScanner.cpp"
402+ "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/misc.c"
403+ "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/peer.c" )
421404 endif ()
422405 endif ()
406+ endif ()
423407
424- if (NOT CONFIG_ENABLE_ETHERNET_TELEMETRY)
425- list (
426- APPEND
427- EXCLUDE_SRCS_LIST
428- "${MATTER_SDK_PATH} /src/platform/ESP32/ConnectivityManagerImpl_Ethernet.cpp"
429- "${MATTER_SDK_PATH} /src/platform/ESP32/NetworkCommissioningDriver_Ethernet.cpp"
430- )
431- endif ()
408+ if (NOT CONFIG_ENABLE_ETHERNET_TELEMETRY)
409+ list (
410+ APPEND
411+ EXCLUDE_SRCS_LIST
412+ "${MATTER_SDK_PATH} /src/platform/ESP32/ConnectivityManagerImpl_Ethernet.cpp"
413+ "${MATTER_SDK_PATH} /src/platform/ESP32/NetworkCommissioningDriver_Ethernet.cpp"
414+ )
415+ endif ()
432416
433- if ((NOT CONFIG_OPENTHREAD_ENABLED) OR (NOT CONFIG_ENABLE_MATTER_OVER_THREAD
434- ))
435- list (APPEND EXCLUDE_SRCS_LIST
436- "${MATTER_SDK_PATH} /src/platform/ESP32/OpenthreadLauncher.cpp"
437- "${MATTER_SDK_PATH} /src/platform/ESP32/ThreadStackManagerImpl.cpp" )
438- endif ()
417+ if ((NOT CONFIG_OPENTHREAD_ENABLED) OR (NOT CONFIG_ENABLE_MATTER_OVER_THREAD))
418+ list (APPEND EXCLUDE_SRCS_LIST
419+ "${MATTER_SDK_PATH} /src/platform/ESP32/OpenthreadLauncher.cpp"
420+ "${MATTER_SDK_PATH} /src/platform/ESP32/ThreadStackManagerImpl.cpp" )
421+ endif ()
439422
440- if (NOT CONFIG_ENABLE_OTA_REQUESTOR)
441- list (APPEND EXCLUDE_SRCS_LIST
442- "${MATTER_SDK_PATH} /src/platform/ESP32/OTAImageProcessorImpl.cpp" )
443- endif ()
423+ if (NOT CONFIG_ENABLE_OTA_REQUESTOR)
424+ list (APPEND EXCLUDE_SRCS_LIST
425+ "${MATTER_SDK_PATH} /src/platform/ESP32/OTAImageProcessorImpl.cpp" )
426+ endif ()
444427
445- if (NOT CONFIG_ENABLE_ESP32_FACTORY_DATA_PROVIDER)
446- list (APPEND EXCLUDE_SRCS_LIST
447- "${MATTER_SDK_PATH} /src/platform/ESP32/ESP32FactoryDataProvider.cpp" )
448- endif ()
428+ if (NOT CONFIG_ENABLE_ESP32_FACTORY_DATA_PROVIDER)
429+ list (APPEND EXCLUDE_SRCS_LIST
430+ "${MATTER_SDK_PATH} /src/platform/ESP32/ESP32FactoryDataProvider.cpp" )
431+ endif ()
449432
450- if (NOT CONFIG_ENABLE_ESP32_DEVICE_INFO_PROVIDER)
451- list (APPEND EXCLUDE_SRCS_LIST
452- "${MATTER_SDK_PATH} /src/platform/ESP32/ESP32DeviceInfoProvider.cpp" )
453- endif ()
433+ if (NOT CONFIG_ENABLE_ESP32_DEVICE_INFO_PROVIDER)
434+ list (APPEND EXCLUDE_SRCS_LIST
435+ "${MATTER_SDK_PATH} /src/platform/ESP32/ESP32DeviceInfoProvider.cpp" )
436+ endif ()
454437
455- if (NOT CONFIG_SEC_CERT_DAC_PROVIDER)
456- list (
457- APPEND EXCLUDE_SRCS_LIST
458- "${MATTER_SDK_PATH} /src/platform/ESP32/ESP32SecureCertDACProvider.cpp" )
459- endif ()
438+ if (NOT CONFIG_SEC_CERT_DAC_PROVIDER)
439+ list (APPEND EXCLUDE_SRCS_LIST
440+ "${MATTER_SDK_PATH} /src/platform/ESP32/ESP32SecureCertDACProvider.cpp" )
441+ endif ()
460442
461- if (NOT CONFIG_USE_ESP32_ECDSA_PERIPHERAL)
462- list (APPEND EXCLUDE_SRCS_LIST
463- "${MATTER_SDK_PATH} /src/platform/ESP32/ESP32CHIPCryptoPAL.cpp" )
464- endif ()
443+ if (NOT CONFIG_USE_ESP32_ECDSA_PERIPHERAL)
444+ list (APPEND EXCLUDE_SRCS_LIST
445+ "${MATTER_SDK_PATH} /src/platform/ESP32/ESP32CHIPCryptoPAL.cpp" )
465446 endif ()
466447
467448 if (NOT CONFIG_ENABLE_CHIPOBLE)
@@ -478,29 +459,37 @@ if(CONFIG_SENSOR_CONNECTION_MATTER_OVER_THREAD)
478459 if (CONFIG_ENABLE_ICD_SERVER)
479460 list (APPEND SRC_DIRS_LIST "${MATTER_SDK_PATH} /src/app/icd/server/" )
480461 endif ()
462+
463+ # list(APPEND INCLUDE_DIRS_LIST "${ESP_MATTER_SDK_PATH}/examples/common"
464+ # "${MATTER_SDK_PATH}/config/esp32/components"
465+ # "${ESP_MATTER_SDK_PATH}/components")
466+
467+ set (EXTRA_COMPONENT_DIRS
468+ "${ESP_MATTER_SDK_PATH} /examples/common"
469+ "${MATTER_SDK_PATH} /config/esp32/components"
470+ "${ESP_MATTER_SDK_PATH} /components" ${extra_components_dirs_append} )
471+
472+ endif ()
473+
474+ if (CONFIG_SENSOR_SGP41)
475+ list (APPEND INCLUDE_DIRS_LIST "../vendor/embedded-i2c-sgp41"
476+ "../vendor/gas-index-algorithm/sensirion_gas_index_algorithm" )
477+
478+ list (APPEND SRC_DIRS_LIST "../vendor/embedded-i2c-sgp41"
479+ "../vendor/gas-index-algorithm/sensirion_gas_index_algorithm" )
480+ endif ()
481+
482+ if (CONFIG_SENSOR_BME280 OR CONFIG_SENSOR_BME680)
483+ list (APPEND INCLUDE_DIRS_LIST "../vendor/boschsensortec/BME280_SensorAPI"
484+ "../vendor/boschsensortec/BME68x_SensorAPI" )
485+
486+ list (APPEND SRC_DIRS_LIST "../vendor/boschsensortec/BME280_SensorAPI"
487+ "../vendor/boschsensortec/BME68x_SensorAPI" )
481488endif ()
482489
483- list (APPEND INCLUDE_DIRS_LIST "${ESP_MATTER_SDK_PATH} /examples/common"
484- "${MATTER_SDK_PATH} /config/esp32/components"
485- "${ESP_MATTER_SDK_PATH} /components" )
486-
487- list (
488- APPEND
489- INCLUDE_DIRS_LIST
490- "."
491- "../vendor/embedded-i2c-sgp41"
492- "../vendor/gas-index-algorithm/sensirion_gas_index_algorithm"
493- "../vendor/boschsensortec/BME280_SensorAPI"
494- "../vendor/boschsensortec/BME68x_SensorAPI" )
495-
496- list (
497- APPEND
498- SRC_DIRS_LIST
499- "."
500- "../vendor/embedded-i2c-sgp41"
501- "../vendor/gas-index-algorithm/sensirion_gas_index_algorithm"
502- "../vendor/boschsensortec/BME280_SensorAPI"
503- "../vendor/boschsensortec/BME68x_SensorAPI" )
490+ list (APPEND INCLUDE_DIRS_LIST "." )
491+
492+ list (APPEND SRC_DIRS_LIST "." )
504493
505494idf_component_register(
506495 INCLUDE_DIRS
@@ -514,8 +503,6 @@ idf_component_register(
514503 REQUIRES
515504 ${REQUIRE_COMPONENTS} )
516505
517- set_property (TARGET ${COMPONENT_LIB} PROPERTY CXX_STANDARD 17)
518-
519506if (CONFIG_SENSOR_CONNECTION_MATTER_OVER_THREAD)
520507 target_compile_options (
521508 ${COMPONENT_LIB}
@@ -538,6 +525,14 @@ if(CONFIG_SENSOR_CONNECTION_MATTER_OVER_THREAD)
538525 idf_build_set_property(COMPILE_OPTIONS "-Wno-error=array-bounds" APPEND )
539526 idf_build_set_property(COMPILE_OPTIONS "-Wno-write-strings" APPEND )
540527
528+ # For Xtensa chips, uint32_t was defined as 'unsigned' before v5.0, and after
529+ # IDF v5.0 it is defined as 'unsigned long', same as RISC-V. add this compile
530+ # option to avoid format errors.
531+ # https://github.com/espressif/esp-idf/issues/6906#issuecomment-1207373706
532+ if (CONFIG_IDF_TARGET_ARCH_XTENSA AND (${IDF_VERSION_MAJOR} LESS 5))
533+ idf_build_set_property(COMPILE_OPTIONS "-Wno-format" APPEND )
534+ endif ()
535+
541536 # Time sync client feature depends on read client, disable it when read client
542537 # is disabled.
543538 if (CONFIG_DISABLE_READ_CLIENT)
@@ -583,7 +578,4 @@ if(CONFIG_SENSOR_CONNECTION_MATTER_OVER_THREAD)
583578 ${COMPONENT_LIB} INTERFACE -Wl,--start -group ${chip_libraries}
584579 -Wl,--end -group)
585580
586- idf_build_set_property(
587- CXX_COMPILE_OPTIONS
588- "-std=gnu++17;-Os;-DCHIP_HAVE_CONFIG_H;-Wno-overloaded-virtual" APPEND )
589581endif ()
0 commit comments