meson: Add fru-device-less build configuration
Provide an option that skips building of fru-device. fru-device remains
enabled and built by default.
Change-Id: If927861cf70aaf594844e28e993edc308138ddf2
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meson.build b/meson.build
index 74086d5..b53d9ae 100644
--- a/meson.build
+++ b/meson.build
@@ -26,7 +26,9 @@
include_directories: 'subprojects/boost_1_71_0',
)
endif
-i2c = cpp.find_library('i2c')
+if get_option('fru-device')
+ i2c = cpp.find_library('i2c')
+endif
if cpp.has_header('nlohmann/json.hpp')
nlohmann_json = declare_dependency()
else
diff --git a/meson_options.txt b/meson_options.txt
index b7869f4..a9aeeda 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,6 @@
option(
'tests', type: 'feature', description: 'Build tests.',
)
+option(
+ 'fru-device', type: 'boolean', description: 'Build fru-device.',
+)
diff --git a/service_files/meson.build b/service_files/meson.build
index 2f1932d..2c4909c 100644
--- a/service_files/meson.build
+++ b/service_files/meson.build
@@ -1,14 +1,16 @@
unit_files = [
- 'xyz.openbmc_project.FruDevice.service',
- 'xyz.openbmc_project.EntityManager.service',
+ ['xyz.openbmc_project.FruDevice.service', 'fru-device'],
+ ['xyz.openbmc_project.EntityManager.service', ''],
]
foreach u : unit_files
- configure_file(
- copy: true,
- input: u,
- install: true,
- install_dir: systemd_system_unit_dir,
- output: u,
- )
+ if u[1] == '' or get_option(u[1])
+ configure_file(
+ copy: true,
+ input: u[0],
+ install: true,
+ install_dir: systemd_system_unit_dir,
+ output: u[0],
+ )
+ endif
endforeach
diff --git a/src/meson.build b/src/meson.build
index 2702d6c..fc85d9b 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -17,20 +17,22 @@
install: true,
)
-executable(
- 'fru-device',
- 'FruDevice.cpp',
- 'Utils.cpp',
- cpp_args: cpp_args,
- dependencies: [
- boost,
- i2c,
- nlohmann_json,
- sdbusplus,
- threads,
- valijson,
- ],
- implicit_include_directories: false,
- include_directories: '../include',
- install: true,
-)
+if get_option('fru-device')
+ executable(
+ 'fru-device',
+ 'FruDevice.cpp',
+ 'Utils.cpp',
+ cpp_args: cpp_args,
+ dependencies: [
+ boost,
+ i2c,
+ nlohmann_json,
+ sdbusplus,
+ threads,
+ valijson,
+ ],
+ implicit_include_directories: false,
+ include_directories: '../include',
+ install: true,
+ )
+endif