From: Stefan Bund Date: Sat, 16 Oct 2010 13:10:53 +0000 (+0200) Subject: Fix ResourceForDirectory to work in subdirectories X-Git-Url: http://g0dil.de/git?p=qtscons.git;a=commitdiff_plain;h=c5296ebc7491a1a5ea3b96992532244393938052 Fix ResourceForDirectory to work in subdirectories --- diff --git a/qt4.py b/qt4.py index 2e02775..bd60ba1 100644 --- a/qt4.py +++ b/qt4.py @@ -199,8 +199,9 @@ AutomocStatic = _Automoc('StaticObject') def _detect(env): """Not really safe, but fast method to detect the QT library""" - try: return env['QTDIR'] + try: env['QTDIR'] except KeyError: pass + else: return env.Dir(env.subst('$QTDIR')).abspath try: return os.environ['QTDIR'] except KeyError: pass @@ -547,7 +548,7 @@ def qt4glob(env): if not f.name.startswith("qrc_") and not f.name.startswith("moc_") ] return sources + resources -def scanResourceDirectory(directory, prefix="", exclude=[]): +def scanResourceDirectory(directory, root, prefix="", exclude=[]): rv = [ '', # '', @@ -556,14 +557,16 @@ def scanResourceDirectory(directory, prefix="", exclude=[]): rv.append('' % os.path.join(prefix, base[len(str(directory)):])) for f in files: if not [True for pattern in exclude if fnmatch.fnmatch(f,pattern)]: - rv.append('%s' % (f, os.path.join(base, f))) + rv.append('%s' + % (f, directory.fs.File(os.path.join(base, f)).get_path(root))) rv.append("''") rv.append('\n') return '\n'.join(rv) def resourceDirectory(env, target, source): file(str(target[0]), 'w').write(scanResourceDirectory( - source[0], prefix=env.get('RESOURCE_PREFIX', ''), exclude=env.get('EXCLUDE', []))) + source[0], root=target[0].dir, + prefix=env.get('RESOURCE_PREFIX', ''), exclude=env.get('EXCLUDE', []))) def exists(env): return _detect(env)