aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-02-29 21:04:16 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2016-02-29 21:04:16 +0200
commit352b5badd217dc937d9fcf5ff3c127e1d5dce6fc (patch)
treeee6e3c057bbb18016b2de140dc2cbba18e6983f7
parent2d32c39471dbb342d008a856ce006217c82e6ff0 (diff)
downloadmeson-352b5badd217dc937d9fcf5ff3c127e1d5dce6fc.zip
meson-352b5badd217dc937d9fcf5ff3c127e1d5dce6fc.tar.gz
meson-352b5badd217dc937d9fcf5ff3c127e1d5dce6fc.tar.bz2
Handle resources that come in files(). Closes #424.
-rw-r--r--mesonbuild/modules/gnome.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 1e55b55..55bb321 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -20,6 +20,7 @@ import os, sys
import subprocess
from ..coredata import MesonException
from .. import mlog
+from .. import mesonlib
girwarning_printed = False
@@ -32,7 +33,14 @@ class GnomeModule:
if not isinstance(source_dirs, list):
source_dirs = [source_dirs]
- kwargs['depend_files'] = self.get_gresource_dependencies(state, args[1], source_dirs)
+ ifile = args[1]
+ if isinstance(ifile, mesonlib.File):
+ ifile = os.path.join(ifile.subdir, ifile.fname)
+ elif isinstance(ifile, str):
+ ifile = os.path.join(state.subdir, ifile)
+ else:
+ raise RuntimeError('Unreachable code.')
+ kwargs['depend_files'] = self.get_gresource_dependencies(state, ifile, source_dirs)
for source_dir in source_dirs:
sourcedir = os.path.join(state.build_to_src, state.subdir, source_dir)
@@ -52,7 +60,7 @@ class GnomeModule:
def get_gresource_dependencies(self, state, input_file, source_dirs):
cmd = ['glib-compile-resources',
- os.path.join(state.subdir, input_file),
+ input_file,
'--generate-dependencies']
for source_dir in source_dirs: