get platform info from build script

main
pantonshire 1 month ago
parent d4cacfb015
commit 643cc75f67

@ -1,21 +1,57 @@
project(
'owdtest',
'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'
'-Wall',
'-DOWD_PLATFORM_' + target_machine.system().to_upper(),
'-DOWD_EVENTLOOP_' + platform_info['eventloop'].to_upper(),
]
executable(

Loading…
Cancel
Save