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