blob: e63e71f292b35609b7987e7f5dc9bbb4c7b63422 [file] [log] [blame]
Armando Montanez2c042f92021-12-15 14:55:36 -08001# Copyright 2022 The Pigweed Authors
Carlos Chinchillae8275d32021-12-08 09:46:35 -08002#
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
15include($ENV{PW_ROOT}/pw_build/pigweed.cmake)
Armando Montanez2c042f92021-12-15 14:55:36 -080016
17# WARNING: Many of the dependencies in this file are missing and need to be
18# added/updated. This is provided as a starting point, but currently does not
19# work.
20
Armando Montanezce59a872022-03-16 11:14:28 -070021pw_add_module_library(pw_system.config
Armando Montanez2c042f92021-12-15 14:55:36 -080022 HEADERS
Armando Montanezce59a872022-03-16 11:14:28 -070023 public/pw_system/config.h
Armando Montanez2c042f92021-12-15 14:55:36 -080024)
25
Armando Montanezce59a872022-03-16 11:14:28 -070026pw_add_module_library(pw_system.log
Armando Montanez2c042f92021-12-15 14:55:36 -080027 PUBLIC_DEPS
Armando Montanezce59a872022-03-16 11:14:28 -070028 pw_log_rpc.log_service
29 pw_log_rpc.rpc_log_drain_thread
30 pw_multisink
Armando Montanez2c042f92021-12-15 14:55:36 -080031 PRIVATE_DEPS
Armando Montanezce59a872022-03-16 11:14:28 -070032 pw_system.config
33 pw_system.rpc_server
34 pw_log_rpc.rpc_log_drain
35 pw_sync.lock_annotations
36 pw_sync.mutex
Ewout van Bekkum5ddc01d2022-03-08 12:50:25 -080037 HEADERS
Armando Montanezce59a872022-03-16 11:14:28 -070038 pw_system_private/log.h
Ewout van Bekkum5ddc01d2022-03-08 12:50:25 -080039 SOURCES
Armando Montanezce59a872022-03-16 11:14:28 -070040 log.cc
Ewout van Bekkum5ddc01d2022-03-08 12:50:25 -080041)
42
Armando Montanezce59a872022-03-16 11:14:28 -070043pw_add_module_library(pw_system.log_backend
Ewout van Bekkum5ddc01d2022-03-08 12:50:25 -080044 PRIVATE_DEPS
Armando Montanezce59a872022-03-16 11:14:28 -070045 pw_system.config
46 pw_system.log
47 pw_bytes
48 pw_chrono.system_clock
49 pw_log.facade
50 pw_log.proto_utils
51 pw_log_string.handler.facade
52 pw_log_tokenized.metadata
53 pw_multisink
54 pw_result
55 pw_sync.interrupt_spin_lock
56 pw_sync.lock_annotations
57 pw_tokenizer
58 pw_tokenizer.global_handler_with_payload.facade
Armando Montanez2c042f92021-12-15 14:55:36 -080059 SOURCES
Armando Montanezce59a872022-03-16 11:14:28 -070060 log_backend.cc
Armando Montanez2c042f92021-12-15 14:55:36 -080061)
62
Armando Montanezce59a872022-03-16 11:14:28 -070063pw_add_facade(pw_system.rpc_server
Armando Montanez2c042f92021-12-15 14:55:36 -080064 PUBLIC_DEPS
Armando Montanezce59a872022-03-16 11:14:28 -070065 pw_system.config
66 pw_thread.thread_core
Armando Montanez2c042f92021-12-15 14:55:36 -080067 HEADERS
Armando Montanezce59a872022-03-16 11:14:28 -070068 public/pw_system/rpc_server.h
Armando Montanez2c042f92021-12-15 14:55:36 -080069)
70
Armando Montanezce59a872022-03-16 11:14:28 -070071pw_add_module_library(pw_system.hdlc_rpc_server
72 PRIVATE_DEPS
73 pw_assert
74 pw_hdlc.pw_rpc
75 pw_hdlc.rpc_channel_output
76 pw_sync.mutex
77 pw_system.config
78 pw_system.io
79 pw_system.rpc_server.facade
80 pw_system.target_io
81 pw_thread.thread_core
82 SOURCES
83 hdlc_rpc_server.cc
84)
85
86pw_add_module_library(pw_system.io
Armando Montanez2c042f92021-12-15 14:55:36 -080087 HEADERS
Armando Montanezce59a872022-03-16 11:14:28 -070088 public/pw_system/io.h
Armando Montanez2c042f92021-12-15 14:55:36 -080089 PUBLIC_DEPS
Armando Montanezce59a872022-03-16 11:14:28 -070090 pw_stream
Armando Montanez2c042f92021-12-15 14:55:36 -080091)
92
Armando Montanezce59a872022-03-16 11:14:28 -070093pw_add_module_library(pw_system.init
Armando Montanez2c042f92021-12-15 14:55:36 -080094 PRIVATE_DEPS
Armando Montanezce59a872022-03-16 11:14:28 -070095 pw_system.log
96 pw_system.rpc_server
97 pw_rpc.nanopb.echo_service
98 pw_thread.thread
Armando Montanez2c042f92021-12-15 14:55:36 -080099 SOURCES
Armando Montanezce59a872022-03-16 11:14:28 -0700100 init.cc
Armando Montanez2c042f92021-12-15 14:55:36 -0800101 HEADERS
Armando Montanezce59a872022-03-16 11:14:28 -0700102 public/pw_system/init.h
Armando Montanez2c042f92021-12-15 14:55:36 -0800103)
104
Armando Montanezce59a872022-03-16 11:14:28 -0700105pw_add_module_library(pw_system.work_queue
Armando Montanez2c042f92021-12-15 14:55:36 -0800106 PRIVATE_DEPS
Armando Montanezce59a872022-03-16 11:14:28 -0700107 pw_work_queue
Armando Montanez2c042f92021-12-15 14:55:36 -0800108 SOURCES
Armando Montanezce59a872022-03-16 11:14:28 -0700109 work_queue.cc
Armando Montanez2c042f92021-12-15 14:55:36 -0800110 HEADERS
Armando Montanezce59a872022-03-16 11:14:28 -0700111 public/pw_system/work_queue.h
Armando Montanez2c042f92021-12-15 14:55:36 -0800112)
113
Armando Montanezce59a872022-03-16 11:14:28 -0700114pw_add_module_library(pw_system.target_io
Armando Montanez2c042f92021-12-15 14:55:36 -0800115 PRIVATE_DEPS
Armando Montanezce59a872022-03-16 11:14:28 -0700116 pw_system.io
117 pw_stream
118 pw_stream.sys_io_stream
Armando Montanez2c042f92021-12-15 14:55:36 -0800119 SOURCES
Armando Montanezce59a872022-03-16 11:14:28 -0700120 target_io.cc
Armando Montanez2c042f92021-12-15 14:55:36 -0800121)
122
Armando Montanezce59a872022-03-16 11:14:28 -0700123pw_add_module_library(pw_system.target_hooks
Armando Montanez2c042f92021-12-15 14:55:36 -0800124 PUBLIC_DEPS
Armando Montanezce59a872022-03-16 11:14:28 -0700125 pw_thread
Armando Montanez2c042f92021-12-15 14:55:36 -0800126 HEADERS
Armando Montanezce59a872022-03-16 11:14:28 -0700127 public/pw_system/target_hooks.h
Armando Montanez2c042f92021-12-15 14:55:36 -0800128)
129
Armando Montanezce59a872022-03-16 11:14:28 -0700130pw_add_module_library(pw_system.stl_target_hooks
Armando Montanez2c042f92021-12-15 14:55:36 -0800131 PRIVATE_DEPS
Armando Montanezce59a872022-03-16 11:14:28 -0700132 pw_thread.sleep
133 pw_thread.thread
134 pw_thread_stl.thread
Armando Montanez2c042f92021-12-15 14:55:36 -0800135
136 SOURCES
Armando Montanezce59a872022-03-16 11:14:28 -0700137 stl_target_hooks.cc
Armando Montanez2c042f92021-12-15 14:55:36 -0800138)
139
Armando Montanezce59a872022-03-16 11:14:28 -0700140pw_add_module_library(pw_system.freertos_target_hooks
Armando Montanez2c042f92021-12-15 14:55:36 -0800141 SOURCES
Armando Montanezce59a872022-03-16 11:14:28 -0700142 freertos_target_hooks.cc
Armando Montanez2c042f92021-12-15 14:55:36 -0800143 PRIVATE_DEPS
Armando Montanezce59a872022-03-16 11:14:28 -0700144 pw_thread.thread
145 pw_thread_freertos.thread
Armando Montanez2c042f92021-12-15 14:55:36 -0800146 # TODO(pwbug/317): This should depend on FreeRTOS but our third parties
147 # currently do not have CMake support.
148)
149
Armando Montanezce59a872022-03-16 11:14:28 -0700150pw_add_module_library(pw_system.system_example
Armando Montanez2c042f92021-12-15 14:55:36 -0800151 PRIVATE_DEPS
Armando Montanezce59a872022-03-16 11:14:28 -0700152 pw_system.init
153 pw_system.io
154 pw_system.target_hooks
155 pw_stream
156 pw_stream.sys_io_stream
Armando Montanez2c042f92021-12-15 14:55:36 -0800157 SOURCES
Armando Montanezce59a872022-03-16 11:14:28 -0700158 example_user_app_init.cc
Armando Montanez2c042f92021-12-15 14:55:36 -0800159)