blob: 0df36dfd6acbf54cb684c889e41eb52276e429ef [file] [log] [blame]
# DO NOT EDIT MANUALLY - Generated file
#
# Cluster generated code for constants and metadata based on src/controller/data_model/controller-clusters.matter
import("//build_overrides/chip.gni")
source_set("ids") {
sources = [
"AttributeIds.h",
"ClusterId.h",
"CommandIds.h",
"EventIds.h",
"Ids.h",
]
public_deps = [
"${chip_root}/src/app/common:global-ids",
"${chip_root}/src/lib/core:types",
]
}
source_set("enums") {
sources = [
"Enums.h",
"EnumsCheck.h",
]
public_deps = [
"${chip_root}/zzz_generated/app-common/clusters/shared:enums",
]
}
source_set("headers") {
sources = [
"Attributes.h",
"Commands.h",
"Events.h",
"Structs.h",
]
public_deps = [
":enums",
":ids",
":metadata",
"${chip_root}/src/app:events",
"${chip_root}/src/app/common:global-ids",
"${chip_root}/zzz_generated/app-common/clusters/shared:headers",
]
public_configs = [ "${chip_root}/src/app/common:includes" ]
# Headers is a workaround for build size optmizations: what we would want is
# ":elements" to contain both headers and cpp files. However compiler seems
# to be able to optimize shared code if we place all structs in one huge
# CPP file, so "cluster-objects" contains that CPP file.
visibility = [
":elements",
"${chip_root}/zzz_generated/app-common/clusters:all-headers",
]
}
source_set("elements") {
public_deps = [
":headers",
":ids",
# NOTE: awkward dependency because cluster-objects contains ALL the cluster
# .cpp files as one compile unit to optimize for flash size during
# compilation.
# Dependency tree is as:
# - <CLUSTER>:headers (mostly private as a target) contains *.h
# - src/app/common:cluster-objects contains "*.ipp" for attrs/commands/events/structs
# - <CLUSTER>:elements makes the headers available and depends on the cluster-objects impl.
"${chip_root}/src/app/common:cluster-objects",
"${chip_root}/src/app/common:global-ids",
"${chip_root}/zzz_generated/app-common/clusters/shared:elements",
]
}
source_set("metadata") {
sources = [ "Metadata.h", "MetadataProvider.h"]
public_deps = [
":ids",
"${chip_root}/src/app/data-model-provider:metadata",
"${chip_root}/src/lib/core:types",
]
}
source_set("WaterHeaterMode") {
public_deps = [
":ids",
":metadata",
":enums",
":elements",
]
}