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