build: use nlohmann-json dependency

Many sources files want to use the 'json.hpp' file from nlohmann,
but when this is installed as a subproject it isn't in the default
search path, unless a dependency to it is explicitly added.  In
most cases this is pulled in via the 'Thresholds.hpp' file which is
in-turn linked in by the thresholds static library.

In meson, static libraries shouldn't be linked against directly but
instead indirectly through a 'dependency' relationship, otherwise the
implicit header file needs are not able to be communicated up to users
of the library (such as Thresholds -> json.hpp here).  Revamp the
static library relationships to use 'dependencies' rather than
'link_with' so that the header file needs are properly expressed.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Id78aee6af03f10c555aa84edbe9ec44ac04ec342
2 files changed
tree: 855095504b6995279c55bdf3a54dc5bf6613dbd8
  1. include/
  2. service_files/
  3. src/
  4. subprojects/
  5. tests/
  6. .clang-format
  7. .clang-ignore
  8. .clang-tidy
  9. .gitignore
  10. Jenkinsfile
  11. LICENSE
  12. MAINTAINERS
  13. meson.build
  14. meson_options.txt
  15. OWNERS
  16. README.md
README.md

dbus-sensors

dbus-sensors is a collection of sensor applications that provide the xyz.openbmc_project.Sensor collection of interfaces. They read sensor values from hwmon, d-bus, or direct driver access to provide readings. Some advance non-sensor features such as fan presence, pwm control, and automatic cpu detection (x86) are also supported.

key features

  • runtime re-configurable from d-bus (entity-manager or the like)

  • isolated: each sensor type is isolated into its own daemon, so a bug in one sensor is unlikely to affect another, and single sensor modifications are possible

  • async single-threaded: uses sdbusplus/asio bindings

  • multiple data inputs: hwmon, d-bus, direct driver access

sensor documentation