- Override built-in targets, which gives more flexibility than
set_defaults.
- Provide the default C++ in the toolchain, which can be overridden by
explicitly specifying a config on a target.
- Remove the C++17 default flags from public configs, since it is no
longer needed.
Change-Id: If211bada971c46cef83909bf15811a4f2c1eb7fd
This change moves the ZigZagDecode function from varint.cc to varint.h
so that it is part of pw_varint's public interface.
Change-Id: I53a659f1e5c701465c277eab2082d57624c0e65c
This change removes "Varint" from the names of the Encode and Decode
functions in the pw_varint module, as they are already namespaced by
pw::varint.
Change-Id: I8f1383e390624b677d161a2ac2a1327c5e7ba5b1
This change switches pw_varint to using spans of std::byte instead of
uint8_t for encoding and decoding. The pw_protobuf module, which uses
pw_varint, is also updated.
A ToString formatter for std::byte is also added to pw_string (required
to use std::byte in unit test EXPECT statements).
Change-Id: I198370eecdabde32a85987dda98aed84c85b9c91
Instead of having a global list of -I include paths, have each library
provide a -I for the public/ directory using the includes argument.
Change-Id: I2e321752906920cd94beaaab97b8796af85078e4
- Automatically add simple modules with pw_auto_add_simmple_module.
- Define libraries in a module with pw_add_module_library.
- Define tests and test groups with pw_add_test and
pw_add_test_to_groups.
- Tests execute with full Ninja dependency resolution, as in the GN
build.
- Add CMakeLists.txt for existing modules.
- Currently there is no support for targets, but these libraries would
be trivial to integrate with an existing CMake build.
Change-Id: If73d8b61bce88f91141737eb773f1ebce3a7676e
This change adds a pw_varint module containing functions for encoding
and decoding variable-length integers.
Change-Id: I50bdf6d9d6762bffb93ee638683de53afed9c849