blob: 718be6d5b60751a450ef26ec6fd1318e4174fad0 [file] [log] [blame]
# Copyright 2022 The Pigweed 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
#
# https://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/pigweed.gni")
import("$dir_pw_arduino_build/arduino.gni")
import("$dir_pw_build/target_types.gni")
import("$dir_pw_tokenizer/database.gni")
import("$dir_pw_unit_test/test.gni")
group("all") {
deps = [ ":terminal_demo" ]
# Build tokenizer_database for elf binaries only
# TODO(b/256272529): Figure out why this needs to be disabled on
# mimxrt595_evk.
if (host_os == "linux" ||
(get_label_info(current_toolchain, "name") != "host_debug" &&
pw_build_EXECUTABLE_TARGET_TYPE != "mimxrt595_executable")) {
deps += [ ":tokenizer_database" ]
}
}
pw_source_set("text_buffer") {
public_deps = [
"$dir_pw_color",
"$dir_pw_coordinates",
"$dir_pw_result",
]
sources = [
"text_buffer.cc",
"text_buffer.h",
]
}
pw_executable("terminal_demo") {
sources = [ "main.cc" ]
deps = [
":text_buffer",
"$dir_app_common",
"$dir_pw_color",
"$dir_pw_containers:vector",
"$dir_pw_coordinates",
"$dir_pw_display",
"$dir_pw_draw",
"$dir_pw_framebuffer",
"$dir_pw_log",
"$dir_pw_random",
"$dir_pw_ring_buffer",
"$dir_pw_string",
"$dir_pw_sys_io",
"$dir_pw_touchscreen",
"//pw_board_led",
"//pw_spin_delay",
]
remove_configs = [
"$dir_pw_build:strict_warnings",
"//third_party/pigweed/pw_toolchain/host_clang:linux_sysroot",
]
# Hack for targets with no pre-init target implementation.
defines = []
if (pw_build_EXECUTABLE_TARGET_TYPE != "executable" &&
pw_build_EXECUTABLE_TARGET_TYPE != "arduino_executable") {
defines += [ "USE_FREERTOS" ]
deps += [ "$dir_pw_third_party/freertos" ]
}
if (pw_build_EXECUTABLE_TARGET_TYPE == "pico_executable") {
defines += [ "DEFINE_FREERTOS_MEMORY_FUNCTIONS=1" ]
}
if (pw_build_EXECUTABLE_TARGET_TYPE == "arduino_executable" ||
pw_build_EXECUTABLE_TARGET_TYPE == "pico_executable" ||
pw_build_EXECUTABLE_TARGET_TYPE == "mimxrt595_executable") {
ldflags = [ "-Wl,--print-memory-usage" ]
}
}
pw_tokenizer_database("tokenizer_database") {
database = "tokenizer_database.csv"
targets = [ ":terminal_demo" ]
}
pw_test("text_buffer_test") {
deps = [
":text_buffer",
"$dir_pw_color",
"$dir_pw_unit_test",
]
sources = [ "text_buffer_test.cc" ]
}
pw_test_group("tests") {
tests = [ ":text_buffer_test" ]
}