| project( |
| 'strowgerd', |
| ['c', 'cpp'], |
| version: '0.1', |
| meson_version: '>=1.1.1', |
| default_options: ['cpp_std=c++23', 'c_std=c18'], |
| ) |
| |
| strowger_includes = include_directories('.') |
| |
| subdir('proto') |
| |
| cppc = meson.get_compiler('cpp') |
| |
| boost_dep = dependency('boost', include_type: 'system') |
| |
| grpcpp_auth = dependency('libgrpc++_authorization_provider', required: false) |
| if not grpcpp_auth.found() |
| grpcpp_auth = cppc.find_library( |
| 'libgrpc++_authorization_provider', |
| dirs: '/usr/local/lib', |
| ) |
| endif |
| |
| strowgerd_dep = [ |
| cpp_compiler.find_library('grpc++'), |
| cpp_compiler.find_library('protobuf'), |
| cpp_compiler.find_library('grpc++_reflection'), |
| boost_dep, |
| remote_debug_service_proto, |
| grpcpp_auth, |
| dependency('absl_base'), |
| dependency('absl_log'), |
| dependency('absl_strings'), |
| dependency('absl_flags'), |
| dependency('absl_flags_parse'), |
| ] |
| |
| libchannelserver = static_library( |
| 'channel_server', |
| 'server/channel_server.cpp', |
| include_directories: strowger_includes, |
| implicit_include_directories: false, |
| dependencies: strowgerd_dep, |
| ) |
| |
| executable( |
| 'strowgerd', |
| 'server/strowgerd_server.cpp', |
| implicit_include_directories: false, |
| dependencies: strowgerd_dep, |
| include_directories: strowger_includes, |
| link_with: [libchannelserver], |
| install: true, |
| ) |