Move to subproject to enable both projects
Yocto builds need each component to build individually, but meson wants
them to build as a single project. This follows google-misc and moves
to subprojects.
It also enables callback-manager in the build and fixes some build
errors and warnings.
Change-Id: Ie56141bf86b6d9c6b27eb697944fbc392e374c22
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
diff --git a/callback-manager b/callback-manager
new file mode 120000
index 0000000..fd2f4fe
--- /dev/null
+++ b/callback-manager
@@ -0,0 +1 @@
+subprojects/callback-manager/
\ No newline at end of file
diff --git a/hsbp-manager b/hsbp-manager
new file mode 120000
index 0000000..4663e38
--- /dev/null
+++ b/hsbp-manager
@@ -0,0 +1 @@
+subprojects/hsbp-manager/
\ No newline at end of file
diff --git a/meson.build b/meson.build
index 99c3ca7..96ed4ef 100644
--- a/meson.build
+++ b/meson.build
@@ -7,4 +7,5 @@
)
#Add subproject for hsbp-manager
-subdir('hsbp-manager')
+subproject('hsbp-manager')
+subproject('callback-manager')
diff --git a/callback-manager/.gitignore b/subprojects/callback-manager/.gitignore
similarity index 100%
rename from callback-manager/.gitignore
rename to subprojects/callback-manager/.gitignore
diff --git a/callback-manager/LICENCE b/subprojects/callback-manager/LICENCE
similarity index 100%
rename from callback-manager/LICENCE
rename to subprojects/callback-manager/LICENCE
diff --git a/callback-manager/README.md b/subprojects/callback-manager/README.md
similarity index 100%
rename from callback-manager/README.md
rename to subprojects/callback-manager/README.md
diff --git a/callback-manager/include/callback_manager.hpp b/subprojects/callback-manager/include/callback_manager.hpp
similarity index 97%
rename from callback-manager/include/callback_manager.hpp
rename to subprojects/callback-manager/include/callback_manager.hpp
index 78a70a0..e4776c8 100644
--- a/callback-manager/include/callback_manager.hpp
+++ b/subprojects/callback-manager/include/callback_manager.hpp
@@ -24,9 +24,9 @@
struct AssociationManager
{
- AssociationManager(sdbusplus::asio::object_server& objectServer,
- std::shared_ptr<sdbusplus::asio::connection>& conn) :
- objectServer(objectServer),
+ AssociationManager(sdbusplus::asio::object_server& objectServerIn,
+ std::shared_ptr<sdbusplus::asio::connection>& /*conn*/) :
+ objectServer(objectServerIn),
association(objectServer.add_interface(rootPath, associationIface)),
sensorAssociation(
objectServer.add_interface(sensorPath, associationIface))
diff --git a/callback-manager/meson.build b/subprojects/callback-manager/meson.build
similarity index 64%
rename from callback-manager/meson.build
rename to subprojects/callback-manager/meson.build
index cb0fe0a..78bd22b 100644
--- a/callback-manager/meson.build
+++ b/subprojects/callback-manager/meson.build
@@ -1,3 +1,11 @@
+project(
+ 'callback-manager',
+ 'cpp',
+ version: '1.1.1',
+ meson_version: '>=1.1.1',
+ default_options: ['cpp_std=c++23'],
+)
+
# Compiler flags
cpp_args = [
'-Werror',
@@ -22,9 +30,6 @@
'-fno-rtti',
]
-# Boost library
-boost_dep = dependency('boost', required: true)
-
# Definitions
add_project_arguments(
'-DBOOST_ERROR_CODE_HEADER_ONLY',
@@ -39,31 +44,19 @@
# Include directories
inc = include_directories('include')
-# Executable
-
-
-boost = dependency('boost', version: '1.73.0', required: false)
-sdbusplus = dependency('sdbusplus', required: false)
+boost = dependency('boost', version: '1.86.0', required: false)
+sdbusplus = dependency('sdbusplus', required: true)
executable(
'callback-manager',
'src/callback_manager.cpp',
include_directories: inc,
cpp_args: cpp_args,
- dependencies: [boost_dep],
- link_with: ['systemd', 'i2c', 'sdbusplus', 'stdc++fs', 'gpiodcxx'],
+ dependencies: [boost, sdbusplus],
)
-systemd_dep = dependency('systemd', required: true)
-incdir = include_directories('include')
-executable(
- 'callback-manager',
- 'src/callback_manager.cpp',
- include_directories: incdir,
- dependencies: [boost, sdbusplus, systemd_dep],
-)
# Systemd service files
-systemd_system_unit_dir = systemd_dep.get_pkgconfig_variable(
+systemd_system_unit_dir = dependency('systemd').get_variable(
'systemdsystemunitdir',
)
diff --git a/callback-manager/service_files/callback-manager.service b/subprojects/callback-manager/service_files/callback-manager.service
similarity index 100%
rename from callback-manager/service_files/callback-manager.service
rename to subprojects/callback-manager/service_files/callback-manager.service
diff --git a/callback-manager/src/callback_manager.cpp b/subprojects/callback-manager/src/callback_manager.cpp
similarity index 98%
rename from callback-manager/src/callback_manager.cpp
rename to subprojects/callback-manager/src/callback_manager.cpp
index 97f74f1..4d54ffe 100644
--- a/callback-manager/src/callback_manager.cpp
+++ b/subprojects/callback-manager/src/callback_manager.cpp
@@ -184,6 +184,9 @@
ledsToSet.push_back(std::make_pair(okLedPath, true));
break;
}
+ case (StatusSetting::none):
+ default:
+ break;
}
}
@@ -351,7 +354,7 @@
});
}
-int main(int argc, char** argv)
+int main(int /*argc*/, char** /*argv*/)
{
boost::asio::io_context io;
auto conn = std::make_shared<sdbusplus::asio::connection>(io);
diff --git a/hsbp-manager/.gitignore b/subprojects/hsbp-manager/.gitignore
similarity index 100%
rename from hsbp-manager/.gitignore
rename to subprojects/hsbp-manager/.gitignore
diff --git a/hsbp-manager/LICENCE b/subprojects/hsbp-manager/LICENCE
similarity index 100%
rename from hsbp-manager/LICENCE
rename to subprojects/hsbp-manager/LICENCE
diff --git a/hsbp-manager/include/utils.hpp b/subprojects/hsbp-manager/include/utils.hpp
similarity index 100%
rename from hsbp-manager/include/utils.hpp
rename to subprojects/hsbp-manager/include/utils.hpp
diff --git a/hsbp-manager/meson.build b/subprojects/hsbp-manager/meson.build
similarity index 81%
rename from hsbp-manager/meson.build
rename to subprojects/hsbp-manager/meson.build
index 6e0ef67..c757d26 100644
--- a/hsbp-manager/meson.build
+++ b/subprojects/hsbp-manager/meson.build
@@ -1,3 +1,11 @@
+project(
+ 'hsbp-manager',
+ 'cpp',
+ version: '1.1.1',
+ meson_version: '>=1.1.1',
+ default_options: ['cpp_std=c++23'],
+)
+
# Compiler flags
cpp_args = [
'-lstdc++fs',
@@ -23,10 +31,6 @@
'-fno-rtti',
]
-# Boost library
-#boost_dep = dependency('boost', required : true)
-#i2c_dep = dependency('i2c-tools', required : true)
-
# Definitions
add_project_arguments(
'-DBOOST_ERROR_CODE_HEADER_ONLY',
@@ -44,7 +48,6 @@
cpp = meson.get_compiler('cpp')
boost = dependency('boost', version: '1.86.0', required: false)
sdbusplus = dependency('sdbusplus', required: true)
-systemd_dep = dependency('systemd', required: true)
i2c_dep = cpp.find_library('i2c')
gpiodcxx = dependency('libgpiodcxx', default_options: ['bindings=cxx'])
@@ -54,10 +57,10 @@
'hsbp-manager',
'src/hsbp_manager.cpp',
include_directories: incdir,
- dependencies: [boost, i2c_dep, sdbusplus, systemd_dep, gpiodcxx],
+ dependencies: [boost, i2c_dep, sdbusplus, gpiodcxx],
)
# Systemd service files
-systemd_system_unit_dir = systemd_dep.get_pkgconfig_variable(
+systemd_system_unit_dir = dependency('systemd').get_variable(
'systemdsystemunitdir',
)
diff --git a/hsbp-manager/service_files/hsbp-manager.service b/subprojects/hsbp-manager/service_files/hsbp-manager.service
similarity index 100%
rename from hsbp-manager/service_files/hsbp-manager.service
rename to subprojects/hsbp-manager/service_files/hsbp-manager.service
diff --git a/hsbp-manager/src/hsbp_manager.cpp b/subprojects/hsbp-manager/src/hsbp_manager.cpp
similarity index 100%
rename from hsbp-manager/src/hsbp_manager.cpp
rename to subprojects/hsbp-manager/src/hsbp_manager.cpp