You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.1 KiB
Meson

project(
'owdt',
'c',
default_options : ['c_std=c17']
)
eventloop_epoll = 'epoll'
eventloop_kqueue = 'kqueue'
platform_info = {
'linux': {
'eventloop': eventloop_epoll,
},
'freebsd': {
'eventloop': eventloop_kqueue,
},
'openbsd': {
'eventloop': eventloop_kqueue,
},
'netbsd': {
'eventloop': eventloop_kqueue,
},
'dragonfly': {
'eventloop': eventloop_kqueue,
},
'darwin': {
'eventloop': eventloop_kqueue,
},
}[target_machine.system()]
eventloop_info = {
eventloop_epoll: {
'path': 'src/eventloop_epoll.c',
},
eventloop_kqueue: {
'path': 'src/eventloop_kqueue.c',
},
}[platform_info['eventloop']]
sources = [
'src/main.c',
'src/server.c',
'src/client.c',
'src/str.c',
'src/eventloop.c',
eventloop_info['path'],
]
includes = include_directories('include')
args = [
'-Wall',
'-DOWD_PLATFORM_' + target_machine.system().to_upper(),
'-DOWD_EVENTLOOP_' + platform_info['eventloop'].to_upper(),
]
executable(
meson.project_name(),
sources,
include_directories: includes,
c_args: args
)