Skip to content

Commit d37eae1

Browse files
authored
esp32: remove esp32_codegen.cmake and use common chip_data_model.cmake instead (#36674)
1 parent 99e1006 commit d37eae1

File tree

15 files changed

+321
-851
lines changed

15 files changed

+321
-851
lines changed

build/chip/esp32/esp32_codegen.cmake

-77
This file was deleted.

docs/zap_and_codegen/code_generation.md

-3
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,6 @@ at:
213213
- `src/app/chip_data_model.cmake`
214214
- `src/app/chip_data_model.gni`
215215

216-
Additionally, `build/chip/esp32/esp32_codegen.cmake` adds processing support for
217-
the 2-pass cmake builds used by the Espressif `idf.py` build system.
218-
219216
## Pre-generation
220217

221218
Code pre-generation can be used:

examples/all-clusters-app/esp32/main/CMakeLists.txt

+43-109
Original file line numberDiff line numberDiff line change
@@ -16,111 +16,47 @@
1616
#
1717
# (Uses default behaviour of compiling all source files in directory, adding 'include' to include path.)
1818
# The list of src and include dirs must be in sync with that in all-clusters-app/esp32/main/component.mk
19-
set(PRIV_INCLUDE_DIRS_LIST
20-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/all-clusters-app/all-clusters-common/include"
21-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/energy-management-app/energy-management-common/common/include"
22-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/energy-management-app/energy-management-common/device-energy-management/include"
23-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/energy-management-app/energy-management-common/energy-evse/include"
24-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/energy-management-app/energy-management-common/energy-reporting/include"
25-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/energy-management-app/energy-management-common/water-heater/include"
26-
"${CMAKE_CURRENT_LIST_DIR}/include"
27-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/providers"
28-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32"
29-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/third_party/nlfaultinjection/include"
19+
20+
get_filename_component(CHIP_ROOT ${CMAKE_SOURCE_DIR}/third_party/connectedhomeip REALPATH)
21+
get_filename_component(ALL_CLUSTERS_COMMON_DIR ${CHIP_ROOT}/examples/all-clusters-app/all-clusters-common REALPATH)
22+
get_filename_component(ENERGY_MANAGEMENT_COMMON_DIR ${CHIP_ROOT}/examples/energy-management-app/energy-management-common/ REALPATH)
23+
get_filename_component(APP_COMMON_GEN_DIR ${CHIP_ROOT}/zzz_generated/app-common/app-common/zap-generated REALPATH)
24+
25+
set(PRIV_INCLUDE_DIRS_LIST "${ALL_CLUSTERS_COMMON_DIR}/include"
26+
"${ENERGY_MANAGEMENT_COMMON_DIR}/common/include"
27+
"${ENERGY_MANAGEMENT_COMMON_DIR}/device-energy-management/include"
28+
"${ENERGY_MANAGEMENT_COMMON_DIR}/energy-evse/include"
29+
"${ENERGY_MANAGEMENT_COMMON_DIR}/energy-reporting/include"
30+
"${ENERGY_MANAGEMENT_COMMON_DIR}/water-heater/include"
31+
"${CMAKE_CURRENT_LIST_DIR}/include"
32+
"${CHIP_ROOT}/examples/providers"
33+
"${CHIP_ROOT}/examples/platform/esp32"
34+
"${CHIP_ROOT}/third_party/nlfaultinjection/include"
3035
)
31-
set(SRC_DIRS_LIST
32-
"${CMAKE_CURRENT_LIST_DIR}"
33-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/zzz_generated/app-common/app-common/zap-generated/attributes"
34-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/zzz_generated/app-common/app-common/zap-generated"
35-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/all-clusters-app/all-clusters-common/src"
36-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/energy-management-app/energy-management-common/common/src"
37-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/energy-management-app/energy-management-common/device-energy-management/src"
38-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/energy-management-app/energy-management-common/energy-evse/src"
39-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/energy-management-app/energy-management-common/energy-reporting/src"
40-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/energy-management-app/energy-management-common/water-heater/src"
41-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/providers"
42-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/ota"
43-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/common"
44-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/shell_extension"
45-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/server"
46-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/icd/server"
47-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/util"
48-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/util/persistence"
49-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/reporting"
50-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/administrator-commissioning-server"
51-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/air-quality-server"
52-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/test-cluster-server"
53-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/boolean-state-configuration-server"
54-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/descriptor"
55-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/energy-evse-server"
56-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/fault-injection-server"
57-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/fan-control-server"
58-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/fixed-label-server"
59-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/user-label-server"
60-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/on-off-server"
61-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/level-control"
62-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/identify-server"
63-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/access-control-server"
64-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/window-covering-server"
65-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/general-commissioning-server"
66-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/network-commissioning"
67-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/groups-server"
68-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/color-control-server"
69-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/operational-credentials-server"
70-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/operational-state-server"
71-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/mode-select-server"
72-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/mode-base-server"
73-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/low-power-server"
74-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/ota-requestor"
75-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/thermostat-server"
76-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/thermostat-user-interface-configuration-server"
77-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/thread-network-diagnostics-server"
78-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/scenes-server"
79-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/smoke-co-alarm-server"
80-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/refrigerator-alarm-server"
81-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/software-diagnostics-server"
82-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/switch-server"
83-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/general-diagnostics-server"
84-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/group-key-mgmt-server"
85-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/basic-information"
86-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/bindings"
87-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/icd-management-server"
88-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/diagnostic-logs-server"
89-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/occupancy-sensor-server"
90-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/device-energy-management-server"
91-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/energy-evse-server"
92-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/ethernet-network-diagnostics-server"
93-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/localization-configuration-server"
94-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/time-format-localization-server"
95-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/wifi-network-diagnostics-server"
96-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/wake-on-lan-server"
97-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/pump-configuration-and-control-server"
98-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/power-source-configuration-server"
99-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/power-source-server"
100-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/power-topology-server"
101-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/resource-monitoring-server"
102-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/temperature-control-server"
103-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/time-synchronization-server"
104-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/valve-configuration-and-control-server"
105-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/dishwasher-alarm-server"
106-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/laundry-washer-controls-server"
107-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/laundry-washer-controls-server"
108-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/laundry-dryer-controls-server"
109-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/all-clusters-app/all-clusters-common/src"
110-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/energy-preference-server"
111-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/electrical-energy-measurement-server"
112-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/electrical-power-measurement-server"
36+
set(SRC_DIRS_LIST "${CMAKE_CURRENT_LIST_DIR}"
37+
"${APP_COMMON_GEN_DIR}/attributes"
38+
"${APP_COMMON_GEN_DIR}"
39+
"${ALL_CLUSTERS_COMMON_DIR}/src"
40+
"${ENERGY_MANAGEMENT_COMMON_DIR}/common/src"
41+
"${ENERGY_MANAGEMENT_COMMON_DIR}/device-energy-management/src"
42+
"${ENERGY_MANAGEMENT_COMMON_DIR}/energy-evse/src"
43+
"${ENERGY_MANAGEMENT_COMMON_DIR}/energy-reporting/src"
44+
"${ENERGY_MANAGEMENT_COMMON_DIR}/water-heater/src"
45+
"${CHIP_ROOT}/examples/providers"
46+
"${CHIP_ROOT}/examples/platform/esp32/ota"
47+
"${CHIP_ROOT}/examples/platform/esp32/common"
48+
"${CHIP_ROOT}/examples/platform/esp32/shell_extension"
11349
)
11450

11551

11652
if (CONFIG_ENABLE_PW_RPC)
11753
# Append additional directories for RPC build
11854
set(PRIV_INCLUDE_DIRS_LIST "${PRIV_INCLUDE_DIRS_LIST}"
119-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/pw_sys_io/public"
120-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/common"
121-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/common/pigweed"
122-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/common/pigweed/esp32"
123-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/lib/support"
55+
"${CHIP_ROOT}/examples/platform/esp32/pw_sys_io/public"
56+
"${CHIP_ROOT}/examples/common"
57+
"${CHIP_ROOT}/examples/common/pigweed"
58+
"${CHIP_ROOT}/examples/common/pigweed/esp32"
59+
"${CHIP_ROOT}/src/lib/support"
12460
)
12561

12662
if (${IDF_VERSION_MAJOR} LESS 5)
@@ -130,26 +66,24 @@ else()
13066
endif()
13167

13268
set(SRC_DIRS_LIST "${SRC_DIRS_LIST}"
133-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32"
134-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/common/pigweed"
135-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/common/pigweed/esp32"
69+
"${CHIP_ROOT}/examples/platform/esp32"
70+
"${CHIP_ROOT}/examples/common/pigweed"
71+
"${CHIP_ROOT}/examples/common/pigweed/esp32"
13672
)
13773
endif (CONFIG_ENABLE_PW_RPC)
13874

13975
if (CONFIG_ENABLE_ICD_SERVER)
140-
list(APPEND PRIV_INCLUDE_DIRS_LIST "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/icd")
141-
list(APPEND SRC_DIRS_LIST "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/icd")
76+
list(APPEND PRIV_INCLUDE_DIRS_LIST "${CHIP_ROOT}/examples/platform/esp32/icd")
77+
list(APPEND SRC_DIRS_LIST "${CHIP_ROOT}/examples/platform/esp32/icd")
14278
endif()
14379

14480
idf_component_register(PRIV_INCLUDE_DIRS ${PRIV_INCLUDE_DIRS_LIST}
14581
SRC_DIRS ${SRC_DIRS_LIST})
14682

147-
get_filename_component(CHIP_ROOT ${CMAKE_SOURCE_DIR}/third_party/connectedhomeip REALPATH)
148-
149-
include("${CHIP_ROOT}/build/chip/esp32/esp32_codegen.cmake")
150-
151-
chip_app_component_codegen("${CHIP_ROOT}/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter")
152-
chip_app_component_zapgen("${CHIP_ROOT}/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap")
83+
include(${CHIP_ROOT}/src/app/chip_data_model.cmake)
84+
chip_configure_data_model(${COMPONENT_LIB}
85+
ZAP_FILE ${ALL_CLUSTERS_COMMON_DIR}/all-clusters-app.zap
86+
)
15387

15488
set_property(TARGET ${COMPONENT_LIB} PROPERTY CXX_STANDARD 17)
15589
target_compile_options(${COMPONENT_LIB} PRIVATE "-DCHIP_HAVE_CONFIG_H")

0 commit comments

Comments
 (0)