diff options
author | David Robillard <d@drobilla.net> | 2019-03-17 17:31:05 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2019-03-17 17:31:05 +0100 |
commit | 406f89271452fdb573c7e28113b1ed08ff2b4eda (patch) | |
tree | d2dcbaf61f3749f73dc7a5e10d3fc6cd5e6e129a /waflib/extras/wix.py | |
parent | 7983a5aae615290d04fd43cbc2752f8cf4a46d10 (diff) | |
download | suil-406f89271452fdb573c7e28113b1ed08ff2b4eda.tar.gz suil-406f89271452fdb573c7e28113b1ed08ff2b4eda.tar.bz2 suil-406f89271452fdb573c7e28113b1ed08ff2b4eda.zip |
Squashed 'waflib/' changes from 915dcb1..e7a29b6
e7a29b6 Upgrade to waf 2.0.15
8280f9d Add command for running executables from the build directory
8073c1a Make make_simple_dox() safe in case of exception
70d03b8 Avoid use of global counter hacks for configuration display
b7d689a Rewrite test framework
94deadf Automatically add options and move add_flags() to options context
f4259ee Reduce system include path noise
927b608 Automatically display configuration header
c44b8f3 Set line justification from a constant in the wscript
a48e26f Automatically detect if wscript has a test hook
ef66724 Save runtime variables in the environment
63bcbcd Clean up TestContext
b1d9505 Add ExecutionContext for setting runtime environment
387c1df Add show_diff() and test_file_equals() utilities
29d4d29 Fix in-tree library paths
9fde01f Add custom configuration context
6d3612f Add lib_path_name constant
git-subtree-dir: waflib
git-subtree-split: e7a29b6b9b2f842314244c23c14d8f8f560904e1
Diffstat (limited to 'waflib/extras/wix.py')
-rw-r--r-- | waflib/extras/wix.py | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/waflib/extras/wix.py b/waflib/extras/wix.py deleted file mode 100644 index d87bfbb..0000000 --- a/waflib/extras/wix.py +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/python -# encoding: utf-8 -# vim: tabstop=4 noexpandtab - -""" -Windows Installer XML Tool (WiX) - -.wxs --- candle ---> .wxobj --- light ---> .msi - -bld(features='wix', some.wxs, gen='some.msi', candleflags=[..], lightflags=[..]) - -bld(features='wix', source=['bundle.wxs','WixBalExtension'], gen='setup.exe', candleflags=[..]) -""" - -import os, copy -from waflib import TaskGen -from waflib import Task -from waflib.Utils import winreg - -class candle(Task.Task): - run_str = '${CANDLE} -nologo ${CANDLEFLAGS} -out ${TGT} ${SRC[0].abspath()}', - -class light(Task.Task): - run_str = "${LIGHT} -nologo -b ${SRC[0].parent.abspath()} ${LIGHTFLAGS} -out ${TGT} ${SRC[0].abspath()}" - -@TaskGen.feature('wix') -@TaskGen.before_method('process_source') -def wix(self): - #X.wxs -> ${SRC} for CANDLE - #X.wxobj -> ${SRC} for LIGHT - #X.dll -> -ext X in ${LIGHTFLAGS} - #X.wxl -> wixui.wixlib -loc X.wxl in ${LIGHTFLAGS} - wxobj = [] - wxs = [] - exts = [] - wxl = [] - rest = [] - for x in self.source: - if x.endswith('.wxobj'): - wxobj.append(x) - elif x.endswith('.wxs'): - wxobj.append(self.path.find_or_declare(x[:-4]+'.wxobj')) - wxs.append(x) - elif x.endswith('.dll'): - exts.append(x[:-4]) - elif '.' not in x: - exts.append(x) - elif x.endswith('.wxl'): - wxl.append(x) - else: - rest.append(x) - self.source = self.to_nodes(rest) #.wxs - - cndl = self.create_task('candle', self.to_nodes(wxs), self.to_nodes(wxobj)) - lght = self.create_task('light', self.to_nodes(wxobj), self.path.find_or_declare(self.gen)) - - cndl.env.CANDLEFLAGS = copy.copy(getattr(self,'candleflags',[])) - lght.env.LIGHTFLAGS = copy.copy(getattr(self,'lightflags',[])) - - for x in wxl: - lght.env.append_value('LIGHTFLAGS','wixui.wixlib') - lght.env.append_value('LIGHTFLAGS','-loc') - lght.env.append_value('LIGHTFLAGS',x) - for x in exts: - cndl.env.append_value('CANDLEFLAGS','-ext') - cndl.env.append_value('CANDLEFLAGS',x) - lght.env.append_value('LIGHTFLAGS','-ext') - lght.env.append_value('LIGHTFLAGS',x) - -#wix_bin_path() -def wix_bin_path(): - basekey = r"SOFTWARE\Microsoft\.NETFramework\AssemblyFolders" - query = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, basekey) - cnt=winreg.QueryInfoKey(query)[0] - thiskey = r'C:\Program Files (x86)\WiX Toolset v3.10\SDK' - for i in range(cnt-1,-1,-1): - thiskey = winreg.EnumKey(query,i) - if 'WiX' in thiskey: - break - winreg.CloseKey(query) - return os.path.normpath(winreg.QueryValue(winreg.HKEY_LOCAL_MACHINE, basekey+r'\\'+thiskey)+'..\\bin') - -def configure(ctx): - path_list=[wix_bin_path()] - ctx.find_program('candle', var='CANDLE', mandatory=True, path_list = path_list) - ctx.find_program('light', var='LIGHT', mandatory=True, path_list = path_list) - |