summaryrefslogtreecommitdiffstats
path: root/src/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/SCons/Scanner/__init__.py4
-rw-r--r--src/engine/SCons/Tool/msvc.py7
2 files changed, 11 insertions, 0 deletions
diff --git a/src/engine/SCons/Scanner/__init__.py b/src/engine/SCons/Scanner/__init__.py
index dc10648..aef5d72 100644
--- a/src/engine/SCons/Scanner/__init__.py
+++ b/src/engine/SCons/Scanner/__init__.py
@@ -127,6 +127,10 @@ class Base:
def __hash__(self):
return hash(None)
+ def add_skey(self, skey):
+ """Add a skey to the list of skeys"""
+ self.skeys.append(skey)
+
class RExists(Base):
"""
Scan a node only if it exists (locally or in a Repository).
diff --git a/src/engine/SCons/Tool/msvc.py b/src/engine/SCons/Tool/msvc.py
index f71c074..94f1e4d 100644
--- a/src/engine/SCons/Tool/msvc.py
+++ b/src/engine/SCons/Tool/msvc.py
@@ -238,6 +238,7 @@ def object_emitter(target, source, env):
return (target, source)
pch_builder = SCons.Builder.Builder(action='$PCHCOM', suffix='.pch', emitter=pch_emitter)
+res_builder = SCons.Builder.Builder(action='$RCCOM', suffix='.res')
def generate(env, platform):
"""Add Builders and construction variables for MSVC++ to an Environment."""
@@ -270,6 +271,12 @@ def generate(env, platform):
env['INCSUFFIX'] = ''
env['OBJEMITTER'] = object_emitter
+ env['RC'] = 'rc'
+ env['RCFLAGS'] = ''
+ env['RCCOM'] = '$RC $_CPPINCFLAGS $RCFLAGS /fo$TARGET $SOURCES'
+ env.CScan.add_skey('.rc')
+ env['BUILDERS']['RES'] = res_builder
+
include_path, lib_path, exe_path = get_msdev_paths()
env['ENV']['INCLUDE'] = include_path
env['ENV']['PATH'] = exe_path