pw_hdlc_lite: Build HDLC RPC example with CMake

- Add CMakeLists.txt for pw_hdlc_lite's RPC example.
- Update the pw_rpc CMake to split out individual libraries.
- Small docs update for using third party code in the CMake build.

Change-Id: I3ee8b85a275c3402dc494b0ea3a8140005241ccf
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/24280
Commit-Queue: Wyatt Hepler <hepler@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
diff --git a/pw_build/docs.rst b/pw_build/docs.rst
index b2b5b5c..2da654b 100644
--- a/pw_build/docs.rst
+++ b/pw_build/docs.rst
@@ -375,7 +375,10 @@
 
 .. code-block:: sh
 
-  cmake -B out/cmake_host -S /path/to/pigweed -G Ninja -DCMAKE_TOOLCHAIN_FILE=pw_toolchain/host_clang/toolchain.cmake
+  cmake -B out/cmake_host -S "$PW_ROOT" -G Ninja -DCMAKE_TOOLCHAIN_FILE=$PW_ROOT/pw_toolchain/host_clang/toolchain.cmake
+
+The ``PW_ROOT`` environment variable must point to the root of the Pigweed
+directory. This variable is set by Pigweed's environment setup.
 
 Tests can be executed with the ``pw_run_tests.GROUP`` targets. To run Pigweed
 module tests, execute ``pw_run_tests.modules``:
@@ -446,6 +449,17 @@
 "")``), the dependency is not available. Otherwise, it is available and
 libraries declared by it can be referenced.
 
+The third_party variable may be set with the CMake ``set`` function in the
+toolchain file or a ``CMakeLists.txt`` prior to adding any directories. This
+statement sets the third-party variable for Nanopb to ``PRESENT``:
+
+.. code-block:: cmake
+
+  set(dir_pw_third_party_nanopb PRESENT CACHE STRING "" FORCE)
+
+Alternately, the variable may be set temporarily with ``ccmake`` or
+``cmake-gui``.
+
 Use Pigweed from an existing CMake project
 ------------------------------------------
 To use Pigweed libraries form a CMake-based project, simply include the Pigweed