blob: af0a8cf0736c7b8e5d177a5988d044cc0296742a [file] [log] [blame]
AnthonyDiGirolamo8fe05972021-11-21 19:55:09 -08001# Copyright 2022 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7# https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15import("//build_overrides/pigweed.gni")
16
17import("$dir_pw_arduino_build/arduino.gni")
18import("$dir_pw_build/target_types.gni")
AnthonyDiGirolamo8fe05972021-11-21 19:55:09 -080019import("$dir_pw_unit_test/test.gni")
20
21group("all") {
22 deps = [ ":terminal_demo" ]
AnthonyDiGirolamo8fe05972021-11-21 19:55:09 -080023}
24
Chris Mumford54514cf2022-11-01 20:23:47 +000025pw_source_set("text_buffer") {
26 public_deps = [
Chris Mumford54514cf2022-11-01 20:23:47 +000027 "$dir_pw_result",
Anthony DiGirolamo3b8b3482024-03-29 18:09:51 +000028 "$dir_pwexperimental_color",
Anthony DiGirolamod1b0bbb2024-04-10 20:15:41 +000029 "$dir_pwexperimental_geometry",
Chris Mumford54514cf2022-11-01 20:23:47 +000030 ]
31 sources = [
32 "text_buffer.cc",
33 "text_buffer.h",
34 ]
35}
36
AnthonyDiGirolamo8fe05972021-11-21 19:55:09 -080037pw_executable("terminal_demo") {
38 sources = [ "main.cc" ]
39 deps = [
Chris Mumford54514cf2022-11-01 20:23:47 +000040 ":text_buffer",
Chris Mumfordf9cc7982022-12-14 20:09:16 +000041 "$dir_app_common",
Chris Mumfordd1989fd2023-01-25 19:02:17 +000042 "$dir_pw_board_led",
Erik Gilling87948702022-05-23 17:08:40 +000043 "$dir_pw_containers:vector",
AnthonyDiGirolamo8fe05972021-11-21 19:55:09 -080044 "$dir_pw_log",
45 "$dir_pw_random",
Chris Mumford000cc562023-01-05 22:46:06 +000046 "$dir_pw_ring_buffer",
Chris Mumfordd1989fd2023-01-25 19:02:17 +000047 "$dir_pw_spin_delay",
AnthonyDiGirolamo8fe05972021-11-21 19:55:09 -080048 "$dir_pw_string",
AnthonyDiGirolamof1aa1412022-05-21 08:44:24 -070049 "$dir_pw_sys_io",
Anthony DiGirolamo3b8b3482024-03-29 18:09:51 +000050 "$dir_pwexperimental_color",
51 "$dir_pwexperimental_display",
52 "$dir_pwexperimental_draw",
53 "$dir_pwexperimental_framebuffer",
Anthony DiGirolamod1b0bbb2024-04-10 20:15:41 +000054 "$dir_pwexperimental_geometry",
AnthonyDiGirolamo8fe05972021-11-21 19:55:09 -080055 ]
Anthony DiGirolamo81c4f812023-05-25 15:17:06 +000056 remove_configs = [ "$dir_pw_build:strict_warnings" ]
57
58 if (host_os == "linux") {
59 remove_configs += [ "$dir_pw_toolchain/host_clang:linux_sysroot" ]
60 }
AnthonyDiGirolamo8fe05972021-11-21 19:55:09 -080061
Chris Mumford244051c2022-12-15 21:30:47 +000062 # Hack for targets with no pre-init target implementation.
63 defines = []
64 if (pw_build_EXECUTABLE_TARGET_TYPE != "executable" &&
65 pw_build_EXECUTABLE_TARGET_TYPE != "arduino_executable") {
66 defines += [ "USE_FREERTOS" ]
67 deps += [ "$dir_pw_third_party/freertos" ]
68 }
69 if (pw_build_EXECUTABLE_TARGET_TYPE == "pico_executable") {
70 defines += [ "DEFINE_FREERTOS_MEMORY_FUNCTIONS=1" ]
71 }
72
Anthony DiGirolamo004fb402022-08-19 19:24:41 +000073 if (pw_build_EXECUTABLE_TARGET_TYPE == "arduino_executable" ||
Chris Mumfordc62c9f32022-11-01 17:40:08 +000074 pw_build_EXECUTABLE_TARGET_TYPE == "pico_executable" ||
75 pw_build_EXECUTABLE_TARGET_TYPE == "mimxrt595_executable") {
AnthonyDiGirolamo8fe05972021-11-21 19:55:09 -080076 ldflags = [ "-Wl,--print-memory-usage" ]
77 }
78}
79
Chris Mumford54514cf2022-11-01 20:23:47 +000080pw_test("text_buffer_test") {
81 deps = [
82 ":text_buffer",
Chris Mumford54514cf2022-11-01 20:23:47 +000083 "$dir_pw_unit_test",
Anthony DiGirolamo3b8b3482024-03-29 18:09:51 +000084 "$dir_pwexperimental_color",
Chris Mumford54514cf2022-11-01 20:23:47 +000085 ]
86 sources = [ "text_buffer_test.cc" ]
87}
88
89pw_test_group("tests") {
90 tests = [ ":text_buffer_test" ]
91}