Dung Cao | faf6a6a | 2020-12-28 04:44:45 +0000 | [diff] [blame] | 1 | project('ssifbridge', 'cpp', |
Patrick Williams | 16592b3 | 2023-07-12 11:15:51 -0500 | [diff] [blame] | 2 | meson_version: '>=1.1.1', |
Dung Cao | faf6a6a | 2020-12-28 04:44:45 +0000 | [diff] [blame] | 3 | default_options: [ |
| 4 | 'buildtype=debugoptimized', |
| 5 | 'warning_level=3', |
| 6 | 'werror=true', |
Patrick Williams | 16592b3 | 2023-07-12 11:15:51 -0500 | [diff] [blame] | 7 | 'cpp_std=c++23', |
Dung Cao | faf6a6a | 2020-12-28 04:44:45 +0000 | [diff] [blame] | 8 | ], |
| 9 | version: '1.0', |
Thang Q. Nguyen | 20c6f95 | 2020-12-09 03:28:44 +0000 | [diff] [blame] | 10 | ) |
| 11 | |
Ed Tanous | 8e3f0ad | 2024-02-14 08:58:32 -0800 | [diff] [blame] | 12 | add_project_arguments( |
| 13 | [ |
| 14 | '-Wno-psabi', |
| 15 | '-DBOOST_ASIO_DISABLE_THREADS', |
| 16 | '-DBOOST_ASIO_NO_DEPRECATED', |
| 17 | ], |
| 18 | language: 'cpp' |
| 19 | ) |
Thang Q. Nguyen | 20c6f95 | 2020-12-09 03:28:44 +0000 | [diff] [blame] | 20 | |
Ed Tanous | 4f14328 | 2024-02-14 08:55:54 -0800 | [diff] [blame] | 21 | sdbusplus = dependency('sdbusplus') |
| 22 | cli11 = dependency('CLI11') |
| 23 | phosphor_logging = dependency('phosphor-logging') |
Thang Q. Nguyen | 20c6f95 | 2020-12-09 03:28:44 +0000 | [diff] [blame] | 24 | |
Ed Tanous | 4f14328 | 2024-02-14 08:55:54 -0800 | [diff] [blame] | 25 | boost = dependency( |
| 26 | 'boost', |
| 27 | version : '>=1.83.0', |
| 28 | required : false, |
| 29 | ) |
| 30 | |
| 31 | if not boost.found() |
| 32 | cmake = import('cmake') |
| 33 | opt = cmake.subproject_options() |
| 34 | opt.add_cmake_defines({ |
| 35 | 'BOOST_INCLUDE_LIBRARIES': 'asio' |
| 36 | }) |
| 37 | boost_cmake = cmake.subproject('boost', required: true, options: opt) |
| 38 | boost_asio = boost_cmake.dependency('boost_asio').as_system() |
| 39 | boost = [boost_asio] |
| 40 | endif |
Dung Cao | faf6a6a | 2020-12-28 04:44:45 +0000 | [diff] [blame] | 41 | |
Dung Cao | f624941 | 2021-01-14 03:41:56 +0000 | [diff] [blame] | 42 | # Configure and install systemd unit files |
| 43 | systemd = dependency('systemd') |
Patrick Williams | 6f25d7b | 2023-04-12 08:05:49 -0500 | [diff] [blame] | 44 | systemd_system_unit_dir = systemd.get_variable( |
Dung Cao | f624941 | 2021-01-14 03:41:56 +0000 | [diff] [blame] | 45 | 'systemdsystemunitdir', |
Patrick Williams | 6f25d7b | 2023-04-12 08:05:49 -0500 | [diff] [blame] | 46 | pkgconfig_define: ['prefix', get_option('prefix')]) |
Dung Cao | f624941 | 2021-01-14 03:41:56 +0000 | [diff] [blame] | 47 | |
George Liu | d122cff | 2023-08-16 16:04:49 +0800 | [diff] [blame] | 48 | fs = import('fs') |
| 49 | fs.copyfile( |
| 50 | 'ssifbridge.service', |
Dung Cao | f624941 | 2021-01-14 03:41:56 +0000 | [diff] [blame] | 51 | install: true, |
George Liu | d122cff | 2023-08-16 16:04:49 +0800 | [diff] [blame] | 52 | install_dir: systemd_system_unit_dir |
Dung Cao | f624941 | 2021-01-14 03:41:56 +0000 | [diff] [blame] | 53 | ) |
| 54 | |
Dung Cao | faf6a6a | 2020-12-28 04:44:45 +0000 | [diff] [blame] | 55 | executable('ssifbridged','ssifbridged.cpp', |
Ed Tanous | 4f14328 | 2024-02-14 08:55:54 -0800 | [diff] [blame] | 56 | dependencies: [ |
| 57 | boost, |
| 58 | sdbusplus, |
| 59 | cli11, |
| 60 | phosphor_logging, |
| 61 | ], |
Thang Q. Nguyen | 20c6f95 | 2020-12-09 03:28:44 +0000 | [diff] [blame] | 62 | install: true) |