pw_stream: Update CMake build
- Split the CMake build into separate libraries so that the socket
stream code is not automatically built.
- Fix public/private deps in the GN build.
- Add pw_rpc/system_server/CMakeLists.txt.
- In the CMake presubmit step, install Nanopb and build CMake's pw_apps.
Change-Id: Id29673d5d26e30e1b196768b8667805ec3094e3e
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/27581
Reviewed-by: Armando Montanez <amontanez@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
diff --git a/pw_stream/CMakeLists.txt b/pw_stream/CMakeLists.txt
index 27e58f6..55a9f96 100644
--- a/pw_stream/CMakeLists.txt
+++ b/pw_stream/CMakeLists.txt
@@ -14,15 +14,26 @@
include($ENV{PW_ROOT}/pw_build/pigweed.cmake)
-pw_auto_add_simple_module(pw_stream
+pw_add_module_library(pw_stream
+ SOURCES
+ memory_stream.cc
PUBLIC_DEPS
+ pw_assert
pw_bytes
- pw_containers
- pw_log
pw_result
pw_span
pw_status
+)
+
+pw_add_module_library(pw_stream.socket_stream
+ SOURCES
+ socket_stream.cc
PRIVATE_DEPS
- pw_assert
- pw_string
+ pw_stream
+)
+
+pw_add_module_library(pw_stream.sys_io_stream
+ PRIVATE_DEPS
+ pw_stream
+ pw_sys_io
)