Add a platform init daemon

This commit adds a daemon that can initialize platforms, and adds in the
requisite CLI interfaces to be able to add new platforms in the future.

Change-Id: If4a801fe38e9f4141737d2b5c8b494dc00bf4d59
Signed-off-by: Ed Tanous <etanous@nvidia.com>
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..26dbac2
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,33 @@
+project(
+    'platform-init',
+    'cpp',
+    meson_version: '>=1.7.0',
+    version: '0.1',
+    default_options: ['warning_level=3', 'cpp_std=c++23'],
+)
+
+gpiodcxx_dep = dependency('libgpiodcxx', default_options: ['bindings=cxx'])
+systemd_dep = dependency('systemd')
+libsystemd_dep = dependency('libsystemd')
+
+cli11_dep = dependency('CLI11', required: true, include_type: 'system')
+
+exe = executable(
+    'platform',
+    'platform.cpp',
+    dependencies: [gpiodcxx_dep, libsystemd_dep, cli11_dep],
+    include_directories: ['.'],
+    install: true,
+    install_dir: get_option('libexecdir'),
+)
+
+systemd_system_unit_dir = systemd_dep.get_variable('systemd_system_unit_dir')
+configure_file(
+    input: 'platform_init.service.in',
+    output: 'platform_init.service',
+    install_dir: systemd_system_unit_dir,
+    install: true,
+    configuration: configuration_data(
+        {'PLATFORM_NAME': get_option('platform-name')},
+    ),
+)