cleanup: move fru-device service code into own directory

Improving repository structure for increasing maintainability.

Change-Id: Ie18131d534b750cacb0746450377a37a880b0dbe
Signed-off-by: Christopher Meis <christopher.meis@9elements.com>
diff --git a/src/fru_device.cpp b/src/fru_device/fru_device.cpp
similarity index 99%
rename from src/fru_device.cpp
rename to src/fru_device/fru_device.cpp
index 74704d2..89b9d5a 100644
--- a/src/fru_device.cpp
+++ b/src/fru_device/fru_device.cpp
@@ -15,8 +15,8 @@
 */
 /// \file fru_device.cpp
 
+#include "../utils.hpp"
 #include "fru_utils.hpp"
-#include "utils.hpp"
 
 #include <fcntl.h>
 #include <sys/inotify.h>
diff --git a/src/fru_reader.cpp b/src/fru_device/fru_reader.cpp
similarity index 100%
rename from src/fru_reader.cpp
rename to src/fru_device/fru_reader.cpp
diff --git a/src/fru_reader.hpp b/src/fru_device/fru_reader.hpp
similarity index 100%
rename from src/fru_reader.hpp
rename to src/fru_device/fru_reader.hpp
diff --git a/src/fru_utils.cpp b/src/fru_device/fru_utils.cpp
similarity index 100%
rename from src/fru_utils.cpp
rename to src/fru_device/fru_utils.cpp
diff --git a/src/fru_utils.hpp b/src/fru_device/fru_utils.hpp
similarity index 100%
rename from src/fru_utils.hpp
rename to src/fru_device/fru_utils.hpp
diff --git a/src/fru_device/meson.build b/src/fru_device/meson.build
new file mode 100644
index 0000000..f427f93
--- /dev/null
+++ b/src/fru_device/meson.build
@@ -0,0 +1,28 @@
+cpp_args_fd = cpp_args
+if get_option('fru-device-resizefru')
+    cpp_args_fd = cpp_args_fd + ['-DENABLE_FRU_AREA_RESIZE']
+endif
+detect_mode = get_option('fru-device-16bitdetectmode')
+cpp_args_fd += ['-DFRU_DEVICE_16BITDETECTMODE="' + detect_mode + '"']
+executable(
+    'fru-device',
+    '../expression.cpp',
+    'fru_device.cpp',
+    '../utils.cpp',
+    'fru_utils.cpp',
+    'fru_reader.cpp',
+    cpp_args: cpp_args_fd,
+    dependencies: [
+        boost,
+        i2c,
+        nlohmann_json_dep,
+        phosphor_logging_dep,
+        sdbusplus,
+        threads,
+        valijson,
+    ],
+    install: true,
+    install_dir: installdir,
+)
+
+
diff --git a/src/meson.build b/src/meson.build
index b8a7f0e..8334e7e 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -5,32 +5,7 @@
 subdir('entity_manager')
 
 if get_option('fru-device')
-    cpp_args_fd = cpp_args
-    if get_option('fru-device-resizefru')
-        cpp_args_fd = cpp_args_fd + ['-DENABLE_FRU_AREA_RESIZE']
-    endif
-    detect_mode = get_option('fru-device-16bitdetectmode')
-    cpp_args_fd += ['-DFRU_DEVICE_16BITDETECTMODE="' + detect_mode + '"']
-    executable(
-        'fru-device',
-        'expression.cpp',
-        'fru_device.cpp',
-        'utils.cpp',
-        'fru_utils.cpp',
-        'fru_reader.cpp',
-        cpp_args: cpp_args_fd,
-        dependencies: [
-            boost,
-            i2c,
-            nlohmann_json_dep,
-            phosphor_logging_dep,
-            sdbusplus,
-            threads,
-            valijson,
-        ],
-        install: true,
-        install_dir: installdir,
-    )
+    subdir('fru_device')
 endif
 
 if get_option('devicetree-vpd')