diff --git a/data/meson.build b/data/meson.build
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..aa97c822af728d8dc39476946580a6bb351ffb3a 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -0,0 +1,5 @@
+gnome = import('gnome')
+
+resources = gnome.compile_resources('gen-resources',
+                                    'rugby.gresource.xml',
+                                    source_dir: 'data')
diff --git a/meson.build b/meson.build
index f939703619baa2859e33ed5d1c3a948370ffedb6..13df4ed5e16f7b4e9dab42fda67c5b4406b736ee 100644
--- a/meson.build
+++ b/meson.build
@@ -1,4 +1,4 @@
 project('rugby', 'c')
 
-subdir('src')
 subdir('data')
+subdir('src')
diff --git a/src/meson.build b/src/meson.build
index f810291744131052b6afdaa335b426875f28aaac..a375dd7a474b06bedeb93d5e1238745faf7f8f0e 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -9,9 +9,7 @@ sources = files(
     'rugby-scoring.c'
 )
 
-sources += gnome.compile_resources('gen-resources',
-                                   '../data/rugby.gresource.xml',
-                                   source_dir: '../data')
+sources += resources
 
 gtk = dependency('gtk+-3.0', version : '>= 3.16')