blob: 63b8773fb2ef3afcbdfdb4ba1fea7ed1e2c947a6 [file] [log] [blame]
Ed Tanous2b314e42025-08-19 15:46:18 -07001project(
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
9gpiodcxx_dep = dependency('libgpiodcxx', default_options: ['bindings=cxx'])
10systemd_dep = dependency('systemd')
11libsystemd_dep = dependency('libsystemd')
12
13cli11_dep = dependency('CLI11', required: true, include_type: 'system')
Marc Olberding5d50e522025-09-03 18:23:32 -070014i2c_dep = meson.get_compiler('cpp').find_library('i2c')
Ed Tanous2b314e42025-08-19 15:46:18 -070015
Marc Olberding5d50e522025-09-03 18:23:32 -070016platform_srcs = files('nvidia/gb200.cpp', 'nvidia/nvl32.cpp')
Marc Olberding801bc902025-08-27 12:55:42 -070017util_srcs = files('gpio.cpp', 'i2c.cpp', 'utilities.cpp')
18
Ed Tanous2b314e42025-08-19 15:46:18 -070019exe = executable(
20 'platform',
Marc Olberding801bc902025-08-27 12:55:42 -070021 ['platform.cpp'] + platform_srcs + util_srcs,
Marc Olberding5d50e522025-09-03 18:23:32 -070022 dependencies: [gpiodcxx_dep, libsystemd_dep, cli11_dep, i2c_dep],
Marc Olberding801bc902025-08-27 12:55:42 -070023 include_directories: ['.', 'nvidia'],
Ed Tanous2b314e42025-08-19 15:46:18 -070024 install: true,
25 install_dir: get_option('libexecdir'),
26)
27
28systemd_system_unit_dir = systemd_dep.get_variable('systemd_system_unit_dir')
29configure_file(
30 input: 'platform_init.service.in',
31 output: 'platform_init.service',
32 install_dir: systemd_system_unit_dir,
33 install: true,
34 configuration: configuration_data(
35 {'PLATFORM_NAME': get_option('platform-name')},
36 ),
37)