1
1
get_filename_component (MATTER_SDK_PATH ${CMAKE_CURRENT_SOURCE_DIR} /connectedhomeip/connectedhomeip/ REALPATH)
2
2
3
3
get_filename_component (CHIP_ROOT ${CMAKE_CURRENT_LIST_DIR} /connectedhomeip/connectedhomeip/ REALPATH)
4
- include (${CMAKE_CURRENT_LIST_DIR} /connectedhomeip/connectedhomeip/config/esp32/components/chip/ota-image.cmake)
5
4
6
5
set (ESP_COMPONENTS_PATH ${CMAKE_CURRENT_SOURCE_DIR} /components)
7
6
@@ -27,6 +26,7 @@ endfunction()
27
26
set (SRC_DIRS_LIST "${MATTER_SDK_PATH} /src/access"
28
27
"${MATTER_SDK_PATH} /src/access/examples"
29
28
"${MATTER_SDK_PATH} /src/app"
29
+ "${MATTER_SDK_PATH} /src/app/data-model"
30
30
"${MATTER_SDK_PATH} /src/app/MessageDef"
31
31
"${MATTER_SDK_PATH} /src/app/reporting"
32
32
"${MATTER_SDK_PATH} /src/app/server"
@@ -54,6 +54,7 @@ set(SRC_DIRS_LIST "${MATTER_SDK_PATH}/src/access"
54
54
"${MATTER_SDK_PATH} /src/protocols"
55
55
"${MATTER_SDK_PATH} /src/protocols/bdx"
56
56
"${MATTER_SDK_PATH} /src/protocols/echo"
57
+ "${MATTER_SDK_PATH} /src/protocols/interaction_model"
57
58
"${MATTER_SDK_PATH} /src/protocols/secure_channel"
58
59
"${MATTER_SDK_PATH} /src/protocols/user_directed_commissioning"
59
60
"${MATTER_SDK_PATH} /src/setup_payload"
@@ -111,6 +112,7 @@ set(EXCLUDE_SRCS_LIST "${MATTER_SDK_PATH}/src/controller/ExamplePersistentStorag
111
112
"${MATTER_SDK_PATH} /src/lib/shell/commands/NFC.cpp"
112
113
"${MATTER_SDK_PATH} /src/platform/DeviceSafeQueue.cpp"
113
114
"${MATTER_SDK_PATH} /src/platform/SyscallStubs.cpp"
115
+ "${MATTER_SDK_PATH} /src/platform/OpenThread/DnssdImpl.cpp"
114
116
"${MATTER_SDK_PATH} /src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread_LwIP.cpp"
115
117
"${MATTER_SDK_PATH} /src/system/SystemLayerImplSelect.cpp"
116
118
"${MATTER_SDK_PATH} /src/transport/TraceMessage.cpp" )
@@ -254,8 +256,7 @@ if((NOT CONFIG_ENABLE_WIFI_STATION) AND (NOT CONFIG_ENABLE_WIFI_AP))
254
256
endif ()
255
257
256
258
if (NOT CONFIG_ENABLE_MATTER_OVER_THREAD)
257
- list (APPEND EXCLUDE_SRCS_LIST "${MATTER_SDK_PATH} /src/platform/OpenThread/DnssdImpl.cpp"
258
- "${MATTER_SDK_PATH} /src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.cpp"
259
+ list (APPEND EXCLUDE_SRCS_LIST "${MATTER_SDK_PATH} /src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.cpp"
259
260
"${MATTER_SDK_PATH} /src/platform/OpenThread/OpenThreadUtils.cpp"
260
261
"${MATTER_SDK_PATH} /src/platform/OpenThread/OpenThreadDnssdImpl.cpp" )
261
262
endif ()
@@ -272,7 +273,7 @@ else()
272
273
set (CHIP_PROJECT_CONFIG "" )
273
274
endif ()
274
275
275
- if (CONFIG_ENABLE_ESP_INSIGHTS_TRACE)
276
+ if (CONFIG_ENABLE_ESP_INSIGHTS_TRACE AND ( NOT " ${IDF_TARGET} " STREQUAL "esp32h2" ) )
276
277
list (APPEND SRC_DIRS_LIST "${MATTER_SDK_PATH} /src/tracing/esp32_trace" )
277
278
list (APPEND INCLUDE_DIRS_LIST "${MATTER_SDK_PATH} /src/tracing/esp32_trace/include"
278
279
"${MATTER_SDK_PATH} /src/tracing/esp32_trace" )
@@ -288,8 +289,14 @@ endif()
288
289
289
290
if (CONFIG_CHIP_ENABLE_EXTERNAL_PLATFORM)
290
291
# check the source file dir if external platform is enable
291
- if ((EXISTS ${CONFIG_CHIP_EXTERNAL_PLATFORM_DIR} /external_platform.cmake))
292
- include (${CONFIG_CHIP_EXTERNAL_PLATFORM_DIR} /external_platform.cmake)
292
+ if (IS_ABSOLUTE ${CONFIG_CHIP_EXTERNAL_PLATFORM_DIR} )
293
+ get_filename_component (EXTERNAL_PLATFORM_DIR ${CONFIG_CHIP_EXTERNAL_PLATFORM_DIR} REALPATH)
294
+ else ()
295
+ get_filename_component (EXTERNAL_PLATFORM_DIR ${CMAKE_SOURCE_DIR} /${CONFIG_CHIP_EXTERNAL_PLATFORM_DIR} REALPATH)
296
+ endif ()
297
+ message ("EXTERNAL_PLATFORM_DIR: ${EXTERNAL_PLATFORM_DIR} " )
298
+ if ((EXISTS ${EXTERNAL_PLATFORM_DIR} /external_platform.cmake))
299
+ include (${EXTERNAL_PLATFORM_DIR} /external_platform.cmake)
293
300
list (APPEND SRC_DIRS_LIST ${EXPLANT_SRC_DIRS_LIST} )
294
301
list (APPEND INCLUDE_DIRS_LIST ${EXPLANT_INCLUDE_DIRS_LIST} )
295
302
list (APPEND EXCLUDE_SRCS_LIST ${EXPLANT_EXCLUDE_SRCS_LIST} )
@@ -328,17 +335,15 @@ else()
328
335
if ((CONFIG_BT_ENABLED) AND (CONFIG_ENABLE_CHIPOBLE))
329
336
if (CONFIG_BT_NIMBLE_ENABLED)
330
337
list (APPEND SRC_DIRS_LIST "${MATTER_SDK_PATH} /src/platform/ESP32/nimble" )
331
- list (APPEND EXCLUDE_SRCS_LIST "${MATTER_SDK_PATH} /src/platform/ESP32/bluedroid/BLEManagerImpl.cpp" )
332
- if (NOT CONFIG_ENABLE_ESP32_BLE_CONTROLLER)
333
- list (APPEND EXCLUDE_SRCS_LIST "${MATTER_SDK_PATH} /src/platform/ESP32/bluedroid/ChipDeviceScanner.cpp" )
338
+ if (NOT CONFIG_ENABLE_ESP32_BLE_CONTROLLER)
339
+ list (APPEND EXCLUDE_SRCS_LIST "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/ChipDeviceScanner.cpp"
340
+ "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/misc.c"
341
+ "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/peer.c" )
334
342
endif ()
335
343
else ()
336
344
list (APPEND SRC_DIRS_LIST "${MATTER_SDK_PATH} /src/platform/ESP32/bluedroid" )
337
- list (APPEND EXCLUDE_SRCS_LIST "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/BLEManagerImpl.cpp" )
338
- if (NOT CONFIG_ENABLE_ESP32_BLE_CONTROLLER)
339
- list (APPEND EXCLUDE_SRCS_LIST "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/ChipDeviceScanner.cpp"
340
- "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/misc.c"
341
- "${MATTER_SDK_PATH} /src/platform/ESP32/nimble/peer.c" )
345
+ if (NOT CONFIG_ENABLE_ESP32_BLE_CONTROLLER)
346
+ list (APPEND EXCLUDE_SRCS_LIST "${MATTER_SDK_PATH} /src/platform/ESP32/bluedroid/ChipDeviceScanner.cpp" )
342
347
endif ()
343
348
endif ()
344
349
endif ()
@@ -362,7 +367,8 @@ else()
362
367
endif ()
363
368
364
369
if (NOT CONFIG_ENABLE_ESP32_DEVICE_INFO_PROVIDER)
365
- list (APPEND EXCLUDE_SRCS_LIST "${MATTER_SDK_PATH} /src/platform/ESP32/ESP32DeviceInfoProvider.cpp" )
370
+ list (APPEND EXCLUDE_SRCS_LIST "${MATTER_SDK_PATH} /src/platform/ESP32/ESP32DeviceInfoProvider.cpp"
371
+ "${MATTER_SDK_PATH} /src/platform/ESP32/StaticESP32DeviceInfoProvider.cpp" )
366
372
endif ()
367
373
368
374
if (NOT CONFIG_SEC_CERT_DAC_PROVIDER)
@@ -394,17 +400,34 @@ idf_component_register(SRC_DIRS ${SRC_DIRS_LIST}
394
400
395
401
target_compile_options (${COMPONENT_LIB} PUBLIC
396
402
"-DCHIP_ADDRESS_RESOLVE_IMPL_INCLUDE_HEADER=<lib/address_resolve/AddressResolve_DefaultImpl.h>"
397
- "-DCHIP_CONFIG_SOFTWARE_VERSION_NUMBER=${chip_config_software_version_number} " )
403
+ "-DCHIP_CONFIG_SOFTWARE_VERSION_NUMBER=${chip_config_software_version_number} "
404
+ "-DNDEBUG" )
398
405
399
406
if (CHIP_PROJECT_CONFIG)
400
407
target_compile_options (${COMPONENT_LIB} PUBLIC
401
408
"-DCHIP_PROJECT_CONFIG_INCLUDE=${CHIP_PROJECT_CONFIG} "
402
409
"-DSYSTEM_PROJECT_CONFIG_INCLUDE=${CHIP_PROJECT_CONFIG} " )
403
410
endif ()
404
411
405
- idf_build_set_property(COMPILE_OPTIONS "-Wno-error=uninitialized;-Wno-error=maybe-uninitialized;-Wno-format-nonliteral;-Wno-missing-field-initializers;" APPEND )
406
- idf_build_set_property(COMPILE_OPTIONS "-Wno-error=array-bounds" APPEND )
407
- idf_build_set_property(COMPILE_OPTIONS "-Wno-write-strings" APPEND )
412
+ # compile options from connectedhomeip/build/config/compiler except -Wconversion, -Wshadow, and -Wno-unknown-warning-option
413
+ target_compile_options (${COMPONENT_LIB} PRIVATE "-g2;-fno-common;-fno-unwind-tables;-fno-asynchronous-unwind-tables" )
414
+ target_compile_options (${COMPONENT_LIB} PRIVATE "-Wstack-usage=8192;-Wunreachable-code;-Wvla" )
415
+ target_compile_options (${COMPONENT_LIB} PRIVATE "-Wformat;-Wformat-nonliteral;-Wformat-security" )
416
+ target_compile_options (${COMPONENT_LIB} PRIVATE "-Wno-deprecated-declarations;-Wno-unused" )
417
+ target_compile_options (${COMPONENT_LIB} PRIVATE "-Wno-cast-function-type;-Wno-psabi;-Wno-maybe-uninitialized;-fno-strict-aliasing" )
418
+ target_compile_options (${COMPONENT_LIB} PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-Wnon-virtual-dtor>)
419
+
420
+ # link options from connectedhomeip/build/config/compiler
421
+ target_link_options (${COMPONENT_LIB} PRIVATE -Wl,-O2 -Wl,--gc-sections -Os -Werror -Wl,--fatal-warnings -fdiagnostics-color)
422
+
423
+ # compile options from esp-matter/components/
424
+ target_compile_options (${COMPONENT_LIB} PRIVATE "-Wno-error=uninitialized;-Wno-error=maybe-uninitialized;-Wno-missing-field-initializers" )
425
+ target_compile_options (${COMPONENT_LIB} PRIVATE "-Wno-error=array-bounds;-Wno-write-strings" )
426
+
427
+ # TODO: remove this when building connectedhomeip/src/controller/CHIPDeviceController.cpp with no format error
428
+ if (CONFIG_ENABLE_CHIP_CONTROLLER_BUILD)
429
+ target_compile_options (${COMPONENT_LIB} PRIVATE "-Wno-error=format" )
430
+ endif ()
408
431
409
432
# For Xtensa chips, uint32_t was defined as 'unsigned' before v5.0, and after IDF v5.0 it is defined
410
433
# as 'unsigned long', same as RISC-V. add this compile option to avoid format errors.
@@ -422,9 +445,13 @@ if (CONFIG_USE_MINIMAL_MDNS)
422
445
target_compile_options (${COMPONENT_LIB} PUBLIC "-DCHIP_MINMDNS_DEFAULT_POLICY=1"
423
446
"-DCHIP_MINMDNS_USE_EPHEMERAL_UNICAST_PORT=0"
424
447
"-DCHIP_MINMDNS_HIGH_VERBOSITY=0"
425
- "-DCHIP_DNSSD_DEFAULT_MINIMAL=1" )
448
+ "-DCHIP_DNSSD_DEFAULT_MINIMAL=true"
449
+ "-DCHIP_DNSSD_DEFAULT_NONE=false"
450
+ "-DCHIP_DNSSD_DEFAULT_PLATFORM=false" )
426
451
else ()
427
- target_compile_options (${COMPONENT_LIB} PUBLIC "-DCHIP_DNSSD_DEFAULT_PLATFORM=1" )
452
+ target_compile_options (${COMPONENT_LIB} PUBLIC "-DCHIP_DNSSD_DEFAULT_PLATFORM=true"
453
+ "-DCHIP_DNSSD_DEFAULT_NONE=false"
454
+ "-DCHIP_DNSSD_DEFAULT_MINIMAL=false" )
428
455
endif ()
429
456
430
457
if (NOT CMAKE_BUILD_EARLY_EXPANSION)
@@ -455,13 +482,17 @@ target_link_libraries(${COMPONENT_LIB} INTERFACE -Wl,--start-group
455
482
${chip_libraries}
456
483
-Wl,--end -group)
457
484
458
- # TODO: Build OTA image need a python package, leading a file change and distorying the hash of managed_components.
485
+ cmake_policy (GET CMP0007 policy_status)
486
+ # Set new CMP0007 policy to prevent cmake warning
487
+ cmake_policy (SET CMP0007 NEW)
488
+ include (${CMAKE_CURRENT_LIST_DIR} /connectedhomeip/connectedhomeip/config/esp32/components/chip/ota-image.cmake)
459
489
# Build Matter OTA image
460
- if (false AND CONFIG_CHIP_OTA_IMAGE_BUILD)
490
+ if (CONFIG_CHIP_OTA_IMAGE_BUILD)
461
491
chip_ota_image(chip-ota-image
462
492
INPUT_FILES ${BUILD_DIR} /${CMAKE_PROJECT_NAME} .bin
463
493
OUTPUT_FILE ${BUILD_DIR} /${CMAKE_PROJECT_NAME} -ota.bin
464
494
)
465
495
# Adding dependecy as app target so that this runs after images are ready
466
496
add_dependencies (chip-ota-image app)
467
497
endif ()
498
+ cmake_policy (SET CMP0007 ${policy_status} )
0 commit comments