diff --git a/src/PSUSensorMain.cpp b/src/PSUSensorMain.cpp
index d55d3a0..3520fbe 100644
--- a/src/PSUSensorMain.cpp
+++ b/src/PSUSensorMain.cpp
@@ -470,7 +470,7 @@
             std::string labelPath;
 
             /* find and differentiate _max and _input to replace "label" */
-            int pos = sensorPathStr.find("_");
+            size_t pos = sensorPathStr.find("_");
             if (pos != std::string::npos)
             {
 
diff --git a/src/meson.build b/src/meson.build
new file mode 100644
index 0000000..32b6e85
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,211 @@
+peci_incdirs = []
+if not meson.get_compiler('cpp').has_header('linux/peci-ioctl.h')
+    peci_incdirs = ['../include']
+endif
+
+if get_option('adc').enabled()
+    executable(
+        'adcsensor',
+        'ADCSensor.cpp',
+        'ADCSensorMain.cpp',
+        dependencies: [
+            gpiodcxx,
+            sdbusplus,
+        ],
+        implicit_include_directories: false,
+        include_directories: '../include',
+        install: true,
+        link_with: [
+            thresholds_a,
+            utils_a,
+        ],
+    )
+endif
+
+if get_option('cpu').enabled()
+    executable(
+        'cpusensor',
+        'CPUSensorMain.cpp',
+        'CPUSensor.cpp',
+        dependencies: [
+            gpiodcxx,
+            sdbusplus,
+        ],
+        implicit_include_directories: false,
+        include_directories: [
+            '../include'
+        ] + peci_incdirs,
+        install: true,
+        link_with: [
+            thresholds_a,
+            utils_a,
+        ],
+    )
+endif
+
+if get_option('exit-air').enabled()
+    executable(
+        'exitairtempsensor',
+        'ExitAirTempSensor.cpp',
+        dependencies: [
+            sdbusplus,
+        ],
+        implicit_include_directories: false,
+        include_directories: '../include',
+        install: true,
+        link_with: [
+            thresholds_a,
+            utils_a,
+        ],
+    )
+endif
+
+if get_option('fan').enabled()
+    executable(
+        'fansensor',
+        'FanMain.cpp',
+        'TachSensor.cpp',
+        'PwmSensor.cpp',
+        dependencies: [
+            sdbusplus,
+            gpiodcxx
+        ],
+        implicit_include_directories: false,
+        include_directories: '../include',
+        install: true,
+        link_with: [
+            thresholds_a,
+            utils_a,
+        ],
+    )
+endif
+
+if get_option('hwmon-temp').enabled()
+    executable(
+        'hwmontempsensor',
+        'HwmonTempMain.cpp',
+        'HwmonTempSensor.cpp',
+        dependencies: [
+            sdbusplus,
+        ],
+        implicit_include_directories: false,
+        include_directories: '../include',
+        install: true,
+        link_with: [
+            thresholds_a,
+            utils_a,
+        ],
+    )
+endif
+
+if get_option('intrusion').enabled()
+    executable(
+        'intrusionsensor',
+        'ChassisIntrusionSensor.cpp',
+        'IntrusionSensorMain.cpp',
+        dependencies: [
+            i2c,
+            sdbusplus,
+            gpiodcxx,
+        ],
+        implicit_include_directories: false,
+        include_directories: '../include',
+        install: true,
+        link_with: [
+            utils_a,
+        ],
+    )
+endif
+
+if get_option('ipmb').enabled()
+    executable(
+        'ipmbsensor',
+        'IpmbSensor.cpp',
+        dependencies: [
+            sdbusplus,
+        ],
+        implicit_include_directories: false,
+        include_directories: '../include',
+        install: true,
+        link_with: [
+            thresholds_a,
+            utils_a,
+        ],
+    )
+endif
+
+if get_option('mcu-temp').enabled()
+    executable(
+        'mcutempsensor',
+        'MCUTempSensor.cpp',
+        dependencies: [
+            i2c,
+            sdbusplus,
+        ],
+        implicit_include_directories: false,
+        include_directories: '../include',
+        install: true,
+        link_with: [
+            utils_a,
+            thresholds_a,
+        ],
+    )
+endif
+
+if get_option('nvme').enabled()
+    executable(
+        'nvmesensor',
+        'NVMeSensorMain.cpp',
+	'NVMeSensor.cpp',
+        dependencies: [
+            i2c,
+            sdbusplus,
+            mctp,
+	],
+        implicit_include_directories: false,
+        include_directories: '../include',
+        install: true,
+        link_with: [
+            utils_a,
+            thresholds_a,
+        ],
+    )
+endif
+
+if get_option('psu-temp').enabled()
+    executable(
+        'psutempsensor',
+        'PSUEvent.cpp',
+        'PSUSensor.cpp',
+        'PSUSensorMain.cpp',
+        dependencies: [
+            sdbusplus,
+        ],
+        implicit_include_directories: false,
+        include_directories: '../include',
+        install: true,
+        link_with: [
+            pwmsensor_a,
+            thresholds_a,
+            utils_a,
+        ],
+    )
+endif
+
+if get_option('external').enabled()
+    executable(
+        'externalsensor',
+        'ExternalSensor.cpp',
+        'ExternalSensorMain.cpp',
+        dependencies: [
+            sdbusplus,
+        ],
+        implicit_include_directories: false,
+        include_directories: '../include',
+        install: true,
+        link_with: [
+            thresholds_a,
+            utils_a,
+        ],
+    )
+endif
