160 lines
3.4 KiB
CMake
160 lines
3.4 KiB
CMake
# 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.
|
|
|
|
include($ENV{PW_ROOT}/pw_build/pigweed.cmake)
|
|
|
|
# WARNING: Many of the dependencies in this file are missing and need to be
|
|
# added/updated. This is provided as a starting point, but currently does not
|
|
# work.
|
|
|
|
pw_add_module_library(pw_system.config
|
|
HEADERS
|
|
public/pw_system/config.h
|
|
)
|
|
|
|
pw_add_module_library(pw_system.log
|
|
PUBLIC_DEPS
|
|
pw_log_rpc.log_service
|
|
pw_log_rpc.rpc_log_drain_thread
|
|
pw_multisink
|
|
PRIVATE_DEPS
|
|
pw_system.config
|
|
pw_system.rpc_server
|
|
pw_log_rpc.rpc_log_drain
|
|
pw_sync.lock_annotations
|
|
pw_sync.mutex
|
|
HEADERS
|
|
pw_system_private/log.h
|
|
SOURCES
|
|
log.cc
|
|
)
|
|
|
|
pw_add_module_library(pw_system.log_backend
|
|
PRIVATE_DEPS
|
|
pw_system.config
|
|
pw_system.log
|
|
pw_bytes
|
|
pw_chrono.system_clock
|
|
pw_log.facade
|
|
pw_log.proto_utils
|
|
pw_log_string.handler.facade
|
|
pw_log_tokenized.metadata
|
|
pw_multisink
|
|
pw_result
|
|
pw_sync.interrupt_spin_lock
|
|
pw_sync.lock_annotations
|
|
pw_tokenizer
|
|
pw_tokenizer.global_handler_with_payload.facade
|
|
SOURCES
|
|
log_backend.cc
|
|
)
|
|
|
|
pw_add_facade(pw_system.rpc_server
|
|
PUBLIC_DEPS
|
|
pw_system.config
|
|
pw_thread.thread_core
|
|
HEADERS
|
|
public/pw_system/rpc_server.h
|
|
)
|
|
|
|
pw_add_module_library(pw_system.hdlc_rpc_server
|
|
PRIVATE_DEPS
|
|
pw_assert
|
|
pw_hdlc.pw_rpc
|
|
pw_hdlc.rpc_channel_output
|
|
pw_sync.mutex
|
|
pw_system.config
|
|
pw_system.io
|
|
pw_system.rpc_server.facade
|
|
pw_system.target_io
|
|
pw_thread.thread_core
|
|
SOURCES
|
|
hdlc_rpc_server.cc
|
|
)
|
|
|
|
pw_add_module_library(pw_system.io
|
|
HEADERS
|
|
public/pw_system/io.h
|
|
PUBLIC_DEPS
|
|
pw_stream
|
|
)
|
|
|
|
pw_add_module_library(pw_system.init
|
|
PRIVATE_DEPS
|
|
pw_system.log
|
|
pw_system.rpc_server
|
|
pw_rpc.nanopb.echo_service
|
|
pw_thread.thread
|
|
SOURCES
|
|
init.cc
|
|
HEADERS
|
|
public/pw_system/init.h
|
|
)
|
|
|
|
pw_add_module_library(pw_system.work_queue
|
|
PRIVATE_DEPS
|
|
pw_work_queue
|
|
SOURCES
|
|
work_queue.cc
|
|
HEADERS
|
|
public/pw_system/work_queue.h
|
|
)
|
|
|
|
pw_add_module_library(pw_system.target_io
|
|
PRIVATE_DEPS
|
|
pw_system.io
|
|
pw_stream
|
|
pw_stream.sys_io_stream
|
|
SOURCES
|
|
target_io.cc
|
|
)
|
|
|
|
pw_add_module_library(pw_system.target_hooks
|
|
PUBLIC_DEPS
|
|
pw_thread
|
|
HEADERS
|
|
public/pw_system/target_hooks.h
|
|
)
|
|
|
|
pw_add_module_library(pw_system.stl_target_hooks
|
|
PRIVATE_DEPS
|
|
pw_thread.sleep
|
|
pw_thread.thread
|
|
pw_thread_stl.thread
|
|
|
|
SOURCES
|
|
stl_target_hooks.cc
|
|
)
|
|
|
|
pw_add_module_library(pw_system.freertos_target_hooks
|
|
SOURCES
|
|
freertos_target_hooks.cc
|
|
PRIVATE_DEPS
|
|
pw_thread.thread
|
|
pw_thread_freertos.thread
|
|
# TODO(pwbug/317): This should depend on FreeRTOS but our third parties
|
|
# currently do not have CMake support.
|
|
)
|
|
|
|
pw_add_module_library(pw_system.system_example
|
|
PRIVATE_DEPS
|
|
pw_system.init
|
|
pw_system.io
|
|
pw_system.target_hooks
|
|
pw_stream
|
|
pw_stream.sys_io_stream
|
|
SOURCES
|
|
example_user_app_init.cc
|
|
)
|