diff options
author | Steven Knight <knight@baldmt.com> | 2004-01-25 01:45:35 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2004-01-25 01:45:35 (GMT) |
commit | 117ad0b6eaeb8aa4efcd4b1ec474f0d7c345342c (patch) | |
tree | 18faff1ef52b1d67a14bc6ad0c9a68f60401cf85 /src | |
parent | 4cf075ddac1c6cbac79878e0262bced071dc05cc (diff) | |
download | SCons-117ad0b6eaeb8aa4efcd4b1ec474f0d7c345342c.zip SCons-117ad0b6eaeb8aa4efcd4b1ec474f0d7c345342c.tar.gz SCons-117ad0b6eaeb8aa4efcd4b1ec474f0d7c345342c.tar.bz2 |
Have the Qt Builder(s) use flags from the environment used to specify the target, not the environment that first had the Builder(s) attached. (Christoph Wiedemann)
Diffstat (limited to 'src')
-rw-r--r-- | src/CHANGES.txt | 6 | ||||
-rw-r--r-- | src/engine/SCons/Tool/qt.py | 15 |
2 files changed, 14 insertions, 7 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt index 3e0feaa..f03e7bd 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -162,6 +162,12 @@ RELEASE 0.95 - XXX - Evaluate $MSVSPROJECTSUFFIX and $MSVSSOLUTIONSUFFIX when the Builder is invoked, not when the tool is initialized. + From Christoph Wiedemann: + + - When compiling Qt, make sure the moc_*.cc files are compiled using + the flags from the environment used to specify the target, not + the environment that first has the Qt Builders attached. + RELEASE 0.94 - Fri, 07 Nov 2003 05:29:48 -0600 diff --git a/src/engine/SCons/Tool/qt.py b/src/engine/SCons/Tool/qt.py index ffdff18..4be7a65 100644 --- a/src/engine/SCons/Tool/qt.py +++ b/src/engine/SCons/Tool/qt.py @@ -53,8 +53,8 @@ class _Automoc: StaticLibraries. """ - def __init__(self, objBuilder,uicDeclBuild,mocFromHBld,mocFromCppBld): - self.objBuilder = objBuilder + def __init__(self, objBuilderName,uicDeclBuild,mocFromHBld,mocFromCppBld): + self.objBuilderName = objBuilderName self.uicDeclBld = uicDeclBuild self.mocFromHBld = mocFromHBld self.mocFromCppBld = mocFromCppBld @@ -108,9 +108,10 @@ class _Automoc: src_ext = SCons.Util.splitext(str(h))[1] moc_cpp = SCons.Node.FS.default_fs.File(os.path.join(dir, env['QT_MOCNAMEGENERATOR'](base, src_ext, env))) - moc_o = self.objBuilder(source=moc_cpp) + objBuilder = getattr(env, self.objBuilderName) + moc_o = objBuilder(source=moc_cpp) out_sources.append(moc_o) - self.objBuilder(moc_o, moc_cpp) + objBuilder(moc_o, moc_cpp) self.mocFromHBld(env, moc_cpp, h) moc_cpp.target_scanner = SCons.Defaults.CScan if cpp and q_object_search.search(cpp.get_contents()): @@ -202,11 +203,11 @@ def generate(env): # We can't refer to the builders directly, we have to fetch them # as Environment attributes because that sets them up to be called # correctly later by our emitter. - env['PROGEMITTER'] = _Automoc(env.StaticObject, + env['PROGEMITTER'] = _Automoc('StaticObject', uicDeclBld,mocFromHBld,mocFromCppBld) - env['SHLIBEMITTER'] = _Automoc(env.SharedObject, + env['SHLIBEMITTER'] = _Automoc('SharedObject', uicDeclBld,mocFromHBld,mocFromCppBld) - env['LIBEMITTER'] = _Automoc(env.StaticObject, + env['LIBEMITTER'] = _Automoc('StaticObject', uicDeclBld,mocFromHBld,mocFromCppBld) # Of course, we need to link against the qt libraries env.Append(CPPPATH=os.path.join('$QTDIR', 'include')) |