summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Tool/msvc.py
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2008-09-25 19:44:49 (GMT)
committerWilliam Deegan <bill@baddogconsulting.com>2008-09-25 19:44:49 (GMT)
commit6677088ccceb9f105b1c5ef76fca53f0b5bfa997 (patch)
tree7e12bfeb47e09308f32f8a244b9ef6a265bcb0fb /src/engine/SCons/Tool/msvc.py
parentd87f5622846b645ba21d68b4c2c0186183387786 (diff)
downloadSCons-6677088ccceb9f105b1c5ef76fca53f0b5bfa997.zip
SCons-6677088ccceb9f105b1c5ef76fca53f0b5bfa997.tar.gz
SCons-6677088ccceb9f105b1c5ef76fca53f0b5bfa997.tar.bz2
Fix for bugs 402 and 2082 - implement scanner for windows resource files.
Basic unittest included
Diffstat (limited to 'src/engine/SCons/Tool/msvc.py')
-rw-r--r--src/engine/SCons/Tool/msvc.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/engine/SCons/Tool/msvc.py b/src/engine/SCons/Tool/msvc.py
index 8828d7d..036501b 100644
--- a/src/engine/SCons/Tool/msvc.py
+++ b/src/engine/SCons/Tool/msvc.py
@@ -660,13 +660,17 @@ pch_action = SCons.Action.Action('$PCHCOM', '$PCHCOMSTR')
pch_builder = SCons.Builder.Builder(action=pch_action, suffix='.pch',
emitter=pch_emitter,
source_scanner=SCons.Tool.SourceFileScanner)
-res_action = SCons.Action.Action('$RCCOM', '$RCCOMSTR')
+
+
+# Logic to build .rc files into .res files (resource files)
+res_scanner = SCons.Scanner.RCScan()
+res_action = SCons.Action.Action('$RCCOM', '$RCCOMSTR')
res_builder = SCons.Builder.Builder(action=res_action,
src_suffix='.rc',
suffix='.res',
src_builder=[],
- source_scanner=SCons.Tool.SourceFileScanner)
-SCons.Tool.SourceFileScanner.add_scanner('.rc', SCons.Defaults.CScan)
+ source_scanner=res_scanner)
+
def generate(env):
"""Add Builders and construction variables for MSVC++ to an Environment."""
@@ -711,6 +715,7 @@ def generate(env):
env['RC'] = 'rc'
env['RCFLAGS'] = SCons.Util.CLVar('')
+ env['RCSUFFIXES']=['.rc','.rc2']
env['RCCOM'] = '$RC $_CPPDEFFLAGS $_CPPINCFLAGS $RCFLAGS /fo$TARGET $SOURCES'
env['BUILDERS']['RES'] = res_builder
env['OBJPREFIX'] = ''