summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorSam Thursfield <ssssam@gmail.com>2016-03-27 14:31:41 +0100
committerSam Thursfield <sam@afuera.me.uk>2017-05-22 13:58:07 +0100
commit68b41e39e0fbdcf60dccfbccc83f59212f81edb6 (patch)
tree0cee47b02a4283997f99034cf5816106add573f7 /examples
parent20c715e249f6ea9a36ab09bbcda0c695c3062b79 (diff)
downloadtracker-68b41e39e0fbdcf60dccfbccc83f59212f81edb6.tar.gz
Meson build instructions for Tracker
See <http://mesonbuild.com/> for information about Meson. Remaining issues: * There's no `make dist` equivalent. We currently produce release tarballs containing the output files of the Vala compiler. We need to think through whether we can stop doing that. Shipping the generated .c files does make the Vala preprocessor useless so it would be good if we can stop. * The Firefox, Thunderbird, Evolution and Nautilus plugins are not built * https://github.com/mesonbuild/meson/issues/671 -- means we can't depend on tracker_common_dep in most places and have to manually set link_with, include_directories and sources instead. * https://github.com/mesonbuild/meson/issues/1469 -- without this we have to install generated Vala headers using a script * https://github.com/mesonbuild/meson/issues/1229 -- means adding the #include guard to libtracker-sparql/tracker-generated-no-checks.h is a pain * The test suite has some spurious failures. Here's a rough speed comparison. Meson: time sh -c 'meson .. --prefix=/opt/tracker-meson -D bash_completion=/opt/tracker-meson/share/bash-completion -Dsystemd_user_services=/opt/tracker-meson/lib/systemd/user -Ddbus_services=/opt/tracker-meson/share/dbus-1/services && ninja-build -j 4 && ninja-build install' real 1m8.194s user 2m16.962s sys 0m20.532s Autotools: time sh -c './configure --prefix=/opt/tracker-autotools --with-bash-completion-dir=/opt/tracker-autotools/share/bash-completion --with-session-bus-services-dir=/opt/tracker-autotools/share/dbus-1/services --disable-nautilus-extension && make -j 4 && make install' real 2m37.750s user 4m37.214s sys 0m54.806s Plus 30+ seconds of ./autogen.sh first. Note that Meson builds may fail if your source tree has generated files from an Autotools build in there. If you see errors about duplicate definitions, first try cleaning your source tree (use `git clean -dfx`, but make sure you commit any work first!!)
Diffstat (limited to 'examples')
-rw-r--r--examples/libtracker-miner/meson.build7
-rw-r--r--examples/libtracker-sparql/meson.build7
-rw-r--r--examples/meson.build2
3 files changed, 16 insertions, 0 deletions
diff --git a/examples/libtracker-miner/meson.build b/examples/libtracker-miner/meson.build
new file mode 100644
index 000000000..460b9c732
--- /dev/null
+++ b/examples/libtracker-miner/meson.build
@@ -0,0 +1,7 @@
+sources = [
+ 'tracker-miner-test.c',
+ 'tracker-main.c']
+
+executable('tracker-miner-test', sources,
+ dependencies: [tracker_common_dep, tracker_miner_dep, tracker_sparql_dep]
+)
diff --git a/examples/libtracker-sparql/meson.build b/examples/libtracker-sparql/meson.build
new file mode 100644
index 000000000..6e481792f
--- /dev/null
+++ b/examples/libtracker-sparql/meson.build
@@ -0,0 +1,7 @@
+executable('async-connection', 'async-connection.c',
+ dependencies: [tracker_common_dep, tracker_sparql_dep]
+)
+
+executable('class-signal', 'class-signal.c',
+ dependencies: [tracker_common_dep, tracker_sparql_dep]
+)
diff --git a/examples/meson.build b/examples/meson.build
new file mode 100644
index 000000000..6ab29f9c5
--- /dev/null
+++ b/examples/meson.build
@@ -0,0 +1,2 @@
+subdir('libtracker-miner')
+subdir('libtracker-sparql')