diff options
Diffstat (limited to 'src/libtracker-miner/meson.build')
-rw-r--r-- | src/libtracker-miner/meson.build | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/src/libtracker-miner/meson.build b/src/libtracker-miner/meson.build new file mode 100644 index 000000000..79ea723cc --- /dev/null +++ b/src/libtracker-miner/meson.build @@ -0,0 +1,113 @@ +shared_libtracker_miner_monitor_sources = files('tracker-monitor.c') +shared_libtracker_miner_file_system_sources = files('tracker-file-system.c') +shared_libtracker_miner_crawler_sources = files('tracker-crawler.c') + +miner_enums = gnome.mkenums('tracker-miner-enum-types', + sources: 'tracker-miner-enums.h', + c_template: 'tracker-miner-enum-types.c.template', + h_template: 'tracker-miner-enum-types.h.template', +) + +private_sources = [ + 'tracker-crawler.c', + 'tracker-file-data-provider.c', + 'tracker-file-enumerator.c', + 'tracker-file-notifier.c', + 'tracker-file-system.c', + 'tracker-priority-queue.c', + 'tracker-task-pool.c', + 'tracker-sparql-buffer.c', + 'tracker-thumbnailer.c', + 'tracker-utils.c'] + +if libmediaart.found() + private_sources.append(['tracker-media-art.c']) +endif + +miner_headers = [ + 'tracker-enumerator.h', + 'tracker-miner-online.h', + 'tracker-data-provider.h', + 'tracker-indexing-tree.h', + 'tracker-decorator-fs.h', + 'tracker-miner-fs.h', + 'tracker-miner-object.h', + 'tracker-decorator.h', + 'tracker-miner-enums.h', + 'tracker-miner.h', +] + +miner_sources = ( + shared_libtracker_miner_monitor_sources + + shared_libtracker_miner_file_system_sources + + shared_libtracker_miner_crawler_sources + + ['tracker-data-provider.c', + 'tracker-decorator.c', + 'tracker-decorator-fs.c', + 'tracker-enumerator.c', + 'tracker-indexing-tree.c', + 'tracker-miner-object.c', + 'tracker-miner-online.c', + 'tracker-miner-fs.c']) + +libtracker_miner_private = static_library( + 'tracker-miner-private', + miner_enums[0], miner_enums[1], private_sources, + dependencies: [tracker_common_dep, tracker_sparql_dep], + c_args: [ + '-DTRACKER_COMPILATION', + ], +) + +tracker_miner_dependencies = [] +if network_manager.found() + tracker_miner_dependencies += network_manager +endif + +libtracker_miner = library( + 'tracker-miner-' + tracker_api_version, + miner_enums[0], miner_enums[1], miner_sources, + c_args: [ '-DTRACKER_COMPILATION', ], + install: true, + install_rpath: tracker_internal_libs_dir, + # This doesn't depend on tracker_common_dep because of + # https://github.com/mesonbuild/meson/issues/671 + include_directories: [commoninc, configinc, srcinc], + dependencies: [tracker_sparql_dep] + tracker_miner_dependencies, + link_with: [libtracker_miner_private], +) + +tracker_miner_dep = declare_dependency( + sources: miner_enums[1], + link_with: libtracker_miner, + include_directories: include_directories('.') +) + +tracker_miner_gir = gnome.generate_gir(libtracker_miner, + sources: miner_sources + miner_headers, + nsversion: tracker_api_version, + namespace: 'TrackerMiner', + identifier_prefix: 'Tracker', + symbol_prefix: 'tracker', + # FIXME: also depends on Tracker-1.0.gir (output of libtracker-sparql) + # but we can't currently access that from the Vala target + includes : ['GLib-2.0', 'GObject-2.0', 'Gio-2.0' ], + install: true, + extra_args: [ + '--c-include=libtracker-miner/tracker-miner.h', + '-D', 'TRACKER_COMPILATION', + ]) + +configure_file( + input: 'tracker-miner.pc.in', + output: 'tracker-miner-1.0.pc', + configuration: conf, + install: true, + install_dir: join_paths(get_option('prefix'), get_option('libdir'), 'pkgconfig')) + +install_headers(miner_headers, subdir: 'tracker-1.0/libtracker-miner') + +# Work around https://github.com/mesonbuild/meson/issues/705 +meson.add_install_script('../install-generated-header.sh', + join_paths(meson.current_build_dir(), 'tracker-miner-enum-types.h'), + join_paths(get_option('prefix'), get_option('includedir'), 'tracker-1.0', 'libtracker-miner')) |