meson: Provide missing boost dependency and its wrap file
Currently local meson build fails with the error:
"""
fatal error: boost/asio/io_context.hpp: No such file or directory
"""
This is happening because boost is not listed as a dependency for the
targets that use it.
Add boost dependency for all the necessary targets and provide a wrap
file for boost for the local meson build.
Tested:
"meson setup build && cd build && meson compile" finishes successfully.
Change-Id: I3f418091d8a2da9377684e16ce3e2f88db4c6eb8
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
diff --git a/.gitignore b/.gitignore
index 64bb464..6a2f5b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
build*/
subprojects/*
!subprojects/*.wrap
+!subprojects/packagefiles
*.sw*
diff --git a/meson.build b/meson.build
index 614351f..8c1183f 100644
--- a/meson.build
+++ b/meson.build
@@ -34,6 +34,8 @@
'-DBOOST_ERROR_CODE_HEADER_ONLY',
'-DBOOST_SYSTEM_NO_DEPRECATED']
+boost_dep = dependency('boost')
+
systemd_system_unit_dir = systemd.get_variable(
'systemdsystemunitdir',
pkgconfig_define: ['prefix', get_option('prefix')])
@@ -135,6 +137,7 @@
phosphor_dbus_interfaces,
phosphor_logging,
sdbusplus,
+ boost_dep
],
cpp_args: boost_args,
install: true,
diff --git a/multi-presence/meson.build b/multi-presence/meson.build
index be1f97c..19aa9bf 100644
--- a/multi-presence/meson.build
+++ b/multi-presence/meson.build
@@ -8,9 +8,10 @@
nlohmann_json_dep,
phosphor_logging,
sdbusplus,
+ boost_dep,
],
cpp_args: boost_args,
include_directories: '..',
implicit_include_directories: false,
install: true,
-)
\ No newline at end of file
+)
diff --git a/subprojects/boost.wrap b/subprojects/boost.wrap
new file mode 100644
index 0000000..49a32b8
--- /dev/null
+++ b/subprojects/boost.wrap
@@ -0,0 +1,11 @@
+[wrap-file]
+directory = boost_1_84_0
+
+source_url = https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.bz2
+source_hash = cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454
+source_filename = 1_84_0.tar.bz2
+
+patch_directory = boost
+
+[provide]
+boost = boost_dep
diff --git a/subprojects/packagefiles/boost/meson.build b/subprojects/packagefiles/boost/meson.build
new file mode 100644
index 0000000..2caabf5
--- /dev/null
+++ b/subprojects/packagefiles/boost/meson.build
@@ -0,0 +1,11 @@
+project('boost',
+ 'cpp',
+ version : '1.84.0',
+ license : 'Boost'
+)
+
+boost_dep = declare_dependency(
+ include_directories : include_directories('.'),
+)
+
+meson.override_dependency('boost', boost_dep)