summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-01-25 01:45:35 (GMT)
committerSteven Knight <knight@baldmt.com>2004-01-25 01:45:35 (GMT)
commit117ad0b6eaeb8aa4efcd4b1ec474f0d7c345342c (patch)
tree18faff1ef52b1d67a14bc6ad0c9a68f60401cf85 /src
parent4cf075ddac1c6cbac79878e0262bced071dc05cc (diff)
downloadSCons-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.txt6
-rw-r--r--src/engine/SCons/Tool/qt.py15
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'))