diff --git a/src/meson.build b/src/meson.build index a156ae3..abf512c 100644 --- a/src/meson.build +++ b/src/meson.build @@ -11,6 +11,7 @@ lite_sources = [ 'main.c', ] +lite_sources += 'api/dirmonitor.c' # dirmonitor backend if get_option('dirmonitor_backend') == '' if cc.has_function('inotify_init', prefix : '#include') @@ -19,6 +20,8 @@ if get_option('dirmonitor_backend') == '' dirmonitor_backend = 'fsevents' elif cc.has_function('kqueue', prefix : '#include') dirmonitor_backend = 'kqueue' + elif cc.has_function('create_inode_watcher', prefix : '#include') + dirmonitor_backend = 'inodewatcher' elif dependency('libkqueue', required : false).found() dirmonitor_backend = 'kqueue' elif host_machine.system() == 'windows' @@ -31,20 +34,26 @@ else dirmonitor_backend = get_option('dirmonitor_backend') endif -message('dirmonitor_backend: @0@'.format(dirmonitor_backend)) - -if dirmonitor_backend == 'kqueue' +if dirmonitor_backend == 'inotify' + lite_sources += 'api/dirmonitor/inotify.c' +elif dirmonitor_backend == 'fsevents' + lite_sources += 'api/dirmonitor/fsevents.c' +elif dirmonitor_backend == 'kqueue' + lite_sources += 'api/dirmonitor/kqueue.c' libkqueue_dep = dependency('libkqueue', required : false) if libkqueue_dep.found() lite_deps += libkqueue_dep endif +elif dirmonitor_backend == 'inodewatcher' + add_languages('cpp') + lite_sources += 'api/dirmonitor/inodewatcher.cpp' +elif dirmonitor_backend == 'win32' + lite_sources += 'api/dirmonitor/win32.c' +else + lite_sources += 'api/dirmonitor/dummy.c' endif -lite_sources += [ - 'api/dirmonitor.c', - 'api/dirmonitor/' + dirmonitor_backend + '.c', -] - +message('dirmonitor_backend: @0@'.format(dirmonitor_backend)) lite_rc = [] if host_machine.system() == 'windows'