meson: fix -werror, tests and format

Dependent projects are compiled with -werror and failing because of this
dependency.

For example phosphor-bmc-code-mgmt.

```
../subprojects/stdplus/include/stdplus/net/addr/ip.hpp:550:26: error: space between quotes and suffix is deprecated in C++23 [-Werror=deprecated-literal-operator]
  550 | constexpr auto operator"" _ip() noexcept
      |                          ^~
      |                          --
```

test/io_uring.cpp had to be fixed because there was an access to an
optional which had been ```.reset()``` previously.

Tested: Unit Tests Pass

Change-Id: Iae8bff96cf69a82aea8c1964cfd35908946d7f47
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
6 files changed
tree: 7c4b54f421e4aba183fa1971c792f8804917fbe8
  1. example/
  2. include/
  3. include-dl/
  4. include-fd/
  5. include-gtest/
  6. include-uring/
  7. src/
  8. subprojects/
  9. test/
  10. .clang-format
  11. .clang-tidy
  12. .clang-tidy-ignore
  13. .gitignore
  14. .lcovrc
  15. LICENSE
  16. meson.build
  17. meson.options
  18. OWNERS
  19. README.md
README.md

stdplus

stdplus is a c++ project containing commonly used classes and functions for the Linux platform. Note the goals of this project are to implement only the minimum set of features needed by the OpenBMC project and other users. You may find the included set of functions currently quite sparse.

This project provides the following primitives:

  • A movable and copyable RAII helper wrapper which is used for wrapping c-native types that have custom destruction or copy reference logic.
  • Functions for trivially configuring signals without having to do the normal signal set operations from libc
  • C-Style Error Handler that wrap c-style functions which return errnos and negative error values into functions that throw c++ exceptions.
  • String Utilities that focus on providing helpful wrappers like efficient string append and concatenation.

Dependencies

Test cases require google{test,mock}, valgrind, and lcov. It also requires the Meson Build System which can be installed following the instructions at mesonbuild.com.

Building

For a standard release build, you want something like:

meson setup -Dexamples=false -Dtests=disabled builddir
ninja -C builddir
ninja -C builddir install

For a test / debug build, a typical configuration is

meson setup -Dtests=enabled builddir
meson test -C builddir