Ed Tanous | 2b314e4 | 2025-08-19 15:46:18 -0700 | [diff] [blame] | 1 | project( |
| 2 | 'platform-init', |
| 3 | 'cpp', |
| 4 | meson_version: '>=1.7.0', |
| 5 | version: '0.1', |
| 6 | default_options: ['warning_level=3', 'cpp_std=c++23'], |
| 7 | ) |
| 8 | |
| 9 | gpiodcxx_dep = dependency('libgpiodcxx', default_options: ['bindings=cxx']) |
| 10 | systemd_dep = dependency('systemd') |
| 11 | libsystemd_dep = dependency('libsystemd') |
| 12 | |
| 13 | cli11_dep = dependency('CLI11', required: true, include_type: 'system') |
| 14 | |
Marc Olberding | 801bc90 | 2025-08-27 12:55:42 -0700 | [diff] [blame] | 15 | platform_srcs = files('nvidia/gb200.cpp') |
| 16 | util_srcs = files('gpio.cpp', 'i2c.cpp', 'utilities.cpp') |
| 17 | |
Ed Tanous | 2b314e4 | 2025-08-19 15:46:18 -0700 | [diff] [blame] | 18 | exe = executable( |
| 19 | 'platform', |
Marc Olberding | 801bc90 | 2025-08-27 12:55:42 -0700 | [diff] [blame] | 20 | ['platform.cpp'] + platform_srcs + util_srcs, |
Ed Tanous | 2b314e4 | 2025-08-19 15:46:18 -0700 | [diff] [blame] | 21 | dependencies: [gpiodcxx_dep, libsystemd_dep, cli11_dep], |
Marc Olberding | 801bc90 | 2025-08-27 12:55:42 -0700 | [diff] [blame] | 22 | include_directories: ['.', 'nvidia'], |
Ed Tanous | 2b314e4 | 2025-08-19 15:46:18 -0700 | [diff] [blame] | 23 | install: true, |
| 24 | install_dir: get_option('libexecdir'), |
| 25 | ) |
| 26 | |
| 27 | systemd_system_unit_dir = systemd_dep.get_variable('systemd_system_unit_dir') |
| 28 | configure_file( |
| 29 | input: 'platform_init.service.in', |
| 30 | output: 'platform_init.service', |
| 31 | install_dir: systemd_system_unit_dir, |
| 32 | install: true, |
| 33 | configuration: configuration_data( |
| 34 | {'PLATFORM_NAME': get_option('platform-name')}, |
| 35 | ), |
| 36 | ) |