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
diff --git a/src/meson.build b/src/meson.build
index c1f77ca..9b6def6 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -11,14 +11,12 @@
dependencies: [
gpiodcxx,
sdbusplus,
+ thresholds_dep,
+ utils_dep,
],
implicit_include_directories: false,
include_directories: '../include',
install: true,
- link_with: [
- thresholds_a,
- utils_a,
- ],
)
endif
@@ -30,16 +28,14 @@
dependencies: [
gpiodcxx,
sdbusplus,
+ thresholds_dep,
+ utils_dep,
],
implicit_include_directories: false,
include_directories: [
'../include'
] + peci_incdirs,
install: true,
- link_with: [
- thresholds_a,
- utils_a,
- ],
)
endif
@@ -49,14 +45,12 @@
'ExitAirTempSensor.cpp',
dependencies: [
sdbusplus,
+ thresholds_dep,
+ utils_dep,
],
implicit_include_directories: false,
include_directories: '../include',
install: true,
- link_with: [
- thresholds_a,
- utils_a,
- ],
)
endif
@@ -67,16 +61,14 @@
'TachSensor.cpp',
'PwmSensor.cpp',
dependencies: [
+ gpiodcxx,
sdbusplus,
- gpiodcxx
+ thresholds_dep,
+ utils_dep,
],
implicit_include_directories: false,
include_directories: '../include',
install: true,
- link_with: [
- thresholds_a,
- utils_a,
- ],
)
endif
@@ -87,14 +79,12 @@
'HwmonTempSensor.cpp',
dependencies: [
sdbusplus,
+ thresholds_dep,
+ utils_dep,
],
implicit_include_directories: false,
include_directories: '../include',
install: true,
- link_with: [
- thresholds_a,
- utils_a,
- ],
)
endif
@@ -104,16 +94,14 @@
'ChassisIntrusionSensor.cpp',
'IntrusionSensorMain.cpp',
dependencies: [
+ gpiodcxx,
i2c,
sdbusplus,
- gpiodcxx,
+ utils_dep,
],
implicit_include_directories: false,
include_directories: '../include',
install: true,
- link_with: [
- utils_a,
- ],
)
endif
@@ -123,14 +111,12 @@
'IpmbSensor.cpp',
dependencies: [
sdbusplus,
+ thresholds_dep,
+ utils_dep,
],
implicit_include_directories: false,
include_directories: '../include',
install: true,
- link_with: [
- thresholds_a,
- utils_a,
- ],
)
endif
@@ -141,14 +127,12 @@
dependencies: [
i2c,
sdbusplus,
+ thresholds_dep,
+ utils_dep,
],
implicit_include_directories: false,
include_directories: '../include',
install: true,
- link_with: [
- utils_a,
- thresholds_a,
- ],
)
endif
@@ -161,16 +145,14 @@
'NVMeMCTPContext.cpp',
dependencies: [
i2c,
- sdbusplus,
mctp,
- ],
+ sdbusplus,
+ thresholds_dep,
+ utils_dep,
+ ],
implicit_include_directories: false,
include_directories: '../include',
install: true,
- link_with: [
- utils_a,
- thresholds_a,
- ],
)
endif
@@ -181,16 +163,14 @@
'PSUSensor.cpp',
'PSUSensorMain.cpp',
dependencies: [
+ pwmsensor_dep,
sdbusplus,
+ thresholds_dep,
+ utils_dep,
],
implicit_include_directories: false,
include_directories: '../include',
install: true,
- link_with: [
- pwmsensor_a,
- thresholds_a,
- utils_a,
- ],
)
endif
@@ -201,13 +181,11 @@
'ExternalSensorMain.cpp',
dependencies: [
sdbusplus,
+ thresholds_dep,
+ utils_dep,
],
implicit_include_directories: false,
include_directories: '../include',
install: true,
- link_with: [
- thresholds_a,
- utils_a,
- ],
)
endif