build: Add meson build for phosphor-host-ipmi

Create meson and meson_options for the existing features.

Removed sample.h/cpp since that is not used at all.

Tested:
Ipmi command works fine the cleanup.
```
$ systemctl status phosphor-ipmi-host
● phosphor-ipmi-host.service - Phosphor Inband IPMI
     Loaded: loaded (/lib/systemd/system/phosphor-ipmi-host.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 1970-01-08 21:20:56 UTC; 21s ago
   Main PID: 24987 (ipmid)
     CGroup: /system.slice/phosphor-ipmi-host.service
             └─24987 /tmp/ipmid

Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X002B79], Cmd:[0X30] for Ethstats Commands
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X00C2CF], Cmd:[0X30] for Ethstats Commands
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X002B79], Cmd:[0X32] for Sys Commands
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X002B79], Cmd:[0X02] for I2C
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X00C2CF], Cmd:[0X02] for I2C
Jan 08 21:20:56 $HOST ipmid[24987]: I2C_WHITELIST_CHECK is disabled, do not populate whitelist
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X00C2CF], Cmd:[0X04] for Manual Zone Control
Jan 08 21:20:56 $HOST systemd[1]: Started Phosphor Inband IPMI.
Jan 08 21:20:56 $HOST ipmid[24987]: Loading whitelist filter
Jan 08 21:20:56 $HOST ipmid[24987]: Set restrictedMode = true
(reverse-i-search)`ipmi': systemctl status phosphor-^Cmi-host

$ ipmitool mc info
Device ID                 : 32
Device Revision           : 1
Firmware Revision         : 0.00
IPMI Version              : 2.0
Manufacturer ID           : 7244
Manufacturer Name         : Quanta Computer Inc.
Product ID                : 14426 (0x385a)
Product Name              : Unknown (0x385A)
Device Available          : yes
Provides Device SDRs      : yes
Additional Device Support :
    Sensor Device
    SEL Device
    FRU Inventory Device
    Chassis Device
Aux Firmware Rev Info     :
    0x00
    0x00
    0x00
    0x00
```

Change-Id: Ibaea9eea802b063a0207320654cbb817fde30c2a
Signed-off-by: Willy Tu <wltu@google.com>
diff --git a/test/Makefile.am b/test/Makefile.am
deleted file mode 100644
index 89f4fc6..0000000
--- a/test/Makefile.am
+++ /dev/null
@@ -1,112 +0,0 @@
-COMMON_CXX = \
-    -flto \
-    -Wno-psabi \
-    $(SDBUSPLUS_CFLAGS) \
-    $(SYSTEMD_CFLAGS) \
-    $(libmapper_CFLAGS) \
-    $(SDBUSPLUS_CFLAGS) \
-    $(PHOSPHOR_LOGGING_CFLAGS) \
-    $(PHOSPHOR_DBUS_INTERFACES_CFLAGS) \
-    -DBOOST_ERROR_CODE_HEADER_ONLY \
-    -DBOOST_SYSTEM_NO_DEPRECATED \
-    -DBOOST_COROUTINES_NO_DEPRECATION_WARNING \
-    -DBOOST_ASIO_DISABLE_THREADS \
-    -DBOOST_ALL_NO_LIB
-
-AM_CPPFLAGS = \
-    -I$(top_srcdir) \
-    -I$(top_srcdir)/include \
-    $(CODE_COVERAGE_CPPFLAGS) \
-    $(GTEST_CFLAGS)
-AM_CFLAGS = $(CODE_COVERAGE_CFLAGS)
-AM_CXXFLAGS = $(GTEST_MAIN_CFLAGS) $(GTEST_CFLAGS)
-AM_LDFLAGS = $(GTEST_MAIN_LIBS) $(OESDK_TESTCASE_FLAGS)
-
-# Run all 'check' test programs
-check_PROGRAMS =
-TESTS = $(check_PROGRAMS)
-
-entitymap_json_unittest_SOURCES = entitymap_json_unittest.cpp
-entitymap_json_unittest_LDADD = $(top_builddir)/entity_map_json.o -lgmock
-
-check_PROGRAMS += entitymap_json_unittest
-
-# Build/add sample_unittest to test suite
-sample_unittest_CPPFLAGS = -Igtest $(GTEST_CPPFLAGS) $(AM_CPPFLAGS)
-sample_unittest_CXXFLAGS = $(PTHREAD_CFLAGS) $(CODE_COVERAGE_CXXFLAGS) \
-			   $(CODE_COVERAGE_CFLAGS)
-sample_unittest_LDFLAGS = -lgtest_main -lgtest -pthread $(OESDK_TESTCASE_FLAGS) \
-   			$(CODE_COVERAGE_LDFLAGS)
-sample_unittest_SOURCES = %reldir%/sample_unittest.cpp
-sample_unittest_LDADD = $(top_builddir)/sample.o
-check_PROGRAMS += %reldir%/sample_unittest
-
-# Build/add oemrouter_unittest to test suite
-# Issue #3325
-#check_PROGRAMS += oemrouter_unittest
-#oemrouter_unittest_SOURCES = oemrouter_unittest.cpp
-#oemrouter_unittest_LDADD = $(top_builddir)/oemrouter.o
-
-# Build/add message packing/unpacking unit tests
-message_unittest_CPPFLAGS = \
-    -Igtest \
-    $(GTEST_CPPFLAGS) \
-    $(AM_CPPFLAGS)
-message_unittest_CXXFLAGS = \
-    $(COMMON_CXX) \
-    $(PTHREAD_CFLAGS) \
-    $(PHOSPHOR_LOGGING_CFLAGS) \
-    $(CODE_COVERAGE_CXXFLAGS) \
-    $(CODE_COVERAGE_CFLAGS)
-message_unittest_LDFLAGS = \
-    -lgtest_main \
-    -lgtest \
-    -lsdbusplus \
-    -lsystemd \
-    -pthread \
-    $(CRYPTO_LIBS) \
-    $(PHOSPHOR_LOGGING_LIBS) \
-    $(OESDK_TESTCASE_FLAGS) \
-    $(CODE_COVERAGE_LDFLAGS)
-message_unittest_SOURCES = \
-    %reldir%/message/payload.cpp \
-    %reldir%/message/unpack.cpp \
-    %reldir%/message/pack.cpp
-check_PROGRAMS += %reldir%/message_unittest
-
-# Build/add closesession_unittest to test suite
-session_unittest_CPPFLAGS = \
-    -Igtest \
-    $(GTEST_CPPFLAGS) \
-    $(AM_CPPFLAGS)
-session_unittest_CXXFLAGS = \
-    $(PTHREAD_CFLAGS) \
-    $(CODE_COVERAGE_CXXFLAGS) \
-    $(CODE_COVERAGE_CFLAGS)
-session_unittest_LDFLAGS = \
-    -lgtest_main \
-    -lgtest \
-    -pthread \
-    $(OESDK_TESTCASE_FLAGS) \
-    $(CODE_COVERAGE_LDFLAGS)
-session_unittest_SOURCES = %reldir%/session/closesession_unittest.cpp
-check_PROGRAMS += %reldir%/session_unittest
-
-# Build/add sensorcommands_unittest to test suite
-sensorcommands_unittest_CPPFLAGS = \
-    -Igtest \
-    $(GTEST_CPPFLAGS) \
-    $(AM_CPPFLAGS)
-sensorcommands_unittest_CXXFLAGS = \
-    $(PTHREAD_CFLAGS) \
-    $(CODE_COVERAGE_CXXFLAGS) \
-    $(CODE_COVERAGE_CFLAGS)
-sensorcommands_unittest_LDFLAGS = \
-    -lgtest_main \
-    -lgtest \
-    -pthread \
-    $(OESDK_TESTCASE_FLAGS) \
-    $(CODE_COVERAGE_LDFLAGS)
-sensorcommands_unittest_SOURCES = %reldir%/dbus-sdr/sensorcommands_unittest.cpp
-sensorcommands_unittest_LDADD = $(top_builddir)/dbus-sdr/sensorutils.o
-check_PROGRAMS += %reldir%/sensorcommands_unittest
diff --git a/test/meson.build b/test/meson.build
new file mode 100644
index 0000000..3306a91
--- /dev/null
+++ b/test/meson.build
@@ -0,0 +1,78 @@
+gtest = dependency('gtest', main: true, disabler: true, required: false)
+gmock = dependency('gmock', disabler: true, required: false)
+if not gtest.found() or not gmock.found()
+  gtest_opts = import('cmake').subproject_options()
+  gtest_opts.add_cmake_defines({'CMAKE_CXX_FLAGS': '-Wno-pedantic'})
+  gtest_proj = import('cmake').subproject(
+    'googletest',
+    options: gtest_opts,
+    required: false)
+  if gtest_proj.found()
+    gtest = declare_dependency(
+      dependencies: [
+        dependency('threads'),
+        gtest_proj.dependency('gtest'),
+        gtest_proj.dependency('gtest_main'),
+      ])
+    gmock = gtest_proj.dependency('gmock')
+  else
+    assert(not get_option('tests').enabled(), 'Googletest is required')
+  endif
+endif
+
+test('entitymap_json',
+  executable(
+    'entitymap_json',
+    'entitymap_json_unittest.cpp',
+    include_directories: root_inc,
+    build_by_default: false,
+    implicit_include_directories: false,
+    dependencies: [entity_map_json_dep, gtest, gmock]
+  ))
+
+# Build/add oemrouter_unittest to test suite
+# Issue #3325
+# test('oemrouter',
+#  executable(
+#    'oemrouter',
+#    'oemrouter_unittest.cpp',
+#    include_directories: root_inc,
+#    build_by_default: false,
+#    implicit_include_directories: false,
+#    dependencies: [gtest, gmock]
+#  ))
+
+# Build/add message packing/unpacking unit tests
+test('message',
+  executable(
+    'message',
+    'message/pack.cpp',
+    'message/payload.cpp',
+    'message/unpack.cpp',
+    include_directories: root_inc,
+    build_by_default: false,
+    implicit_include_directories: false,
+    dependencies: [phosphor_logging_dep, crypto, systemd, sdbusplus_dep, gtest, gmock]
+  ))
+
+# Build/add closesession_unittest to test suite
+test('session/closesession',
+  executable(
+    'session_closesession',
+    'session/closesession_unittest.cpp',
+    include_directories: root_inc,
+    build_by_default: false,
+    implicit_include_directories: false,
+    dependencies: [gtest, gmock]
+  ))
+
+# Build/add sensorcommands_unittest to test suite
+test('dbus-sdr/sensorcommands',
+  executable(
+    'dbus-sdr_sensorcommands',
+    'dbus-sdr/sensorcommands_unittest.cpp',
+    include_directories: root_inc,
+    build_by_default: false,
+    implicit_include_directories: false,
+    dependencies: [sensorutils_dep, gtest, gmock]
+  ))
diff --git a/test/sample_unittest.cpp b/test/sample_unittest.cpp
deleted file mode 100644
index e574173..0000000
--- a/test/sample_unittest.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "sample.h"
-
-#include <gtest/gtest.h>
-
-TEST(FactorialTest, Zero)
-{
-    EXPECT_EQ(1, Factorial(0));
-}