build #Source files into LibraryLocal's build dir instead of into #Source

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5108 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2007-04-20 11:35:29 +00:00
parent 72c2e4c211
commit ec2d800d42
2 changed files with 26 additions and 7 deletions

View file

@ -2,6 +2,9 @@ target = 'LibraryLocal'
files = Split("""
LibraryLocal.cpp
""")
required_files = Split("""
#Source/ResourceEditor.cpp
#Source/util.cpp
#Source/winchar.cpp
@ -11,7 +14,17 @@ libs = Split("""
oleaut32
""")
Import('BuildUtil env')
Import('BuildUtil BuildUtilEnv')
env = BuildUtilEnv(flags = ['$EXCEPTION_FLAG'], cross_platform = True)
import os.path
for s in required_files:
fn = os.path.split(s)[-1]
bn = os.path.splitext(fn)[0]
o = env.Object(bn, s)
files.append(o)
if env['PLATFORM'] != 'win32':
libs = []

View file

@ -514,11 +514,8 @@ for plugin in plugins:
####### Utilities ###
######################################################################
def BuildUtil(target, source, libs, entry = None, res = None,
resources = None, defines = None, flags = None,
nodeflib = False, file_name = '', path='', contrib = False,
examples = None, docs = None, cross_platform = False,
root_util = False):
def BuildUtilEnv(defines = None, flags = None, entry = None,
nodeflib = None, cross_platform = False):
if not cross_platform:
env = util_env.Clone()
else:
@ -526,6 +523,15 @@ def BuildUtil(target, source, libs, entry = None, res = None,
AddEnvStandardFlags(env, defines, flags, entry, nodeflib)
return env
def BuildUtil(target, source, libs, entry = None, res = None,
resources = None, defines = None, flags = None,
nodeflib = False, file_name = '', path='', contrib = False,
examples = None, docs = None, cross_platform = False,
root_util = False):
env = BuildUtilEnv(defines, flags, entry, nodeflib, cross_platform)
AppendRES(env, source, res, resources)
if file_name != '':
@ -561,7 +567,7 @@ for util in utils:
path = 'Contrib/' + util
build_dir = '$BUILD_PREFIX/' + util
exports = {'BuildUtil' : BuildUtil, 'env' : util_env.Clone()}
exports = {'BuildUtil' : BuildUtil, 'BuildUtilEnv' : BuildUtilEnv, 'env' : util_env}
defenv.SConscript(dirs = path, build_dir = build_dir, duplicate = False, exports = exports)