blob: d601f0b54764b8b60363445f3412ba9e2c5ed5cf [file] [log] [blame]
# Copyright (c) 2020 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build_overrides/chip.gni")
import("//build_overrides/openthread.gni")
import("${chip_root}/src/platform/device.gni")
declare_args() {
# Enable server command only on linux for now.
chip_shell_cmd_server = current_os == "linux" || current_os == "mac"
}
config("shell_common_config") {
include_dirs = [
".",
"include",
"${chip_root}/src/lib/shell",
]
defines = [
"ENABLE_CHIP_SHELL",
"OPENTHREAD_CONFIG_CLI_TRANSPORT=OT_CLI_TRANSPORT_CONSOLE",
"CHIP_SHELL_ENABLE_CMD_SERVER=${chip_shell_cmd_server}",
]
}
static_library("shell_common") {
sources = [
"cmd_misc.cpp",
"cmd_otcli.cpp",
"globals.cpp",
]
public_deps = [
"${chip_root}/src/lib/shell",
"${chip_root}/src/lib/support",
"${chip_root}/src/platform",
"${chip_root}/src/protocols",
]
if (chip_enable_openthread &&
(current_os == "freertos" || current_os == "zephyr")) {
public_deps += [
"${chip_root}/third_party/openthread:openthread",
"${chip_root}/third_party/openthread:openthread_cli",
]
}
if (chip_shell_cmd_server) {
sources += [ "cmd_server.cpp" ]
import("${chip_root}/src/app/chip_data_model.gni")
sources += [
"${chip_root}/examples/all-clusters-app/all-clusters-common/src/bridged-actions-stub.cpp",
"${chip_root}/examples/all-clusters-app/all-clusters-common/src/static-supported-modes-manager.cpp",
]
include_dirs =
[ "${chip_root}/examples/all-clusters-app/all-clusters-common/include" ]
public_deps +=
[ "${chip_root}/examples/all-clusters-app/all-clusters-common" ]
}
public_configs = [ ":shell_common_config" ]
}