diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-05-16 23:51:51 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-05-17 01:35:13 +0200 |
| commit | aca1a5d0579c2b4ffd7f1cab8500fa01ea639733 (patch) | |
| tree | 3ba2136056d6a93d141d5eae3c510340521efa2b | |
| parent | 08d7ead505104f344483df46c66259f939d13075 (diff) | |
Build "all" and "player" installers for Windows (#2531).player-installer
| -rw-r--r-- | cscript | 24 | ||||
| -rw-r--r-- | platform/windows/wscript | 16 |
2 files changed, 25 insertions, 15 deletions
@@ -659,17 +659,19 @@ def build(target, options, for_package): target.command('./waf install') def package_windows(target): - identifier = '%d' % target.bits - shutil.copyfile('build/platform/windows/installer.%s.nsi' % identifier, 'build/platform/windows/installer2.%s.nsi' % identifier) - target.command('sed -i "s~%%resources%%~%s/platform/windows~g" build/platform/windows/installer2.%s.nsi' % (os.getcwd(), identifier)) - target.command('sed -i "s~%%graphics%%~%s/graphics~g" build/platform/windows/installer2.%s.nsi' % (os.getcwd(), identifier)) - target.command('sed -i "s~%%static_deps%%~%s~g" build/platform/windows/installer2.%s.nsi' % (target.windows_prefix, identifier)) - target.command('sed -i "s~%%cdist_deps%%~%s~g" build/platform/windows/installer2.%s.nsi' % (target.directory, identifier)) - target.command('sed -i "s~%%mingw%%~%s~g" build/platform/windows/installer2.%s.nsi' % (target.environment_prefix, identifier)) - target.command('sed -i "s~%%binaries%%~%s/build~g" build/platform/windows/installer2.%s.nsi' % (os.getcwd(), identifier)) - target.command('sed -i "s~%%bits%%~32~g" build/platform/windows/installer2.%s.nsi' % identifier) - target.command('makensis build/platform/windows/installer2.%s.nsi' % identifier) - return os.path.abspath(glob.glob('build/platform/windows/*%s*.exe' % target.bits)[0]) + for installer in ('all', 'player'): + name1 = '%s.%s.nsi' % (installer, target.bits) + name2 = '%s2.%s.nsi' % (installer, target.bits) + shutil.copyfile('build/platform/windows/%s' % name1, 'build/platform/windows/%s' % name2) + target.command('sed -i "s~%%resources%%~%s/platform/windows~g" build/platform/windows/%s' % (os.getcwd(), name2)) + target.command('sed -i "s~%%graphics%%~%s/graphics~g" build/platform/windows/%s' % (os.getcwd(), name2)) + target.command('sed -i "s~%%static_deps%%~%s~g" build/platform/windows/%s' % (target.windows_prefix, name2)) + target.command('sed -i "s~%%cdist_deps%%~%s~g" build/platform/windows/%s' % (target.directory, name2)) + target.command('sed -i "s~%%mingw%%~%s~g" build/platform/windows/%s' % (target.environment_prefix, name2)) + target.command('sed -i "s~%%binaries%%~%s/build~g" build/platform/windows/%s' % (os.getcwd(), name2)) + target.command('sed -i "s~%%bits%%~32~g" build/platform/windows/%s' % name2) + target.command('makensis build/platform/windows/%s' % name2) + return [os.path.abspath(exe) for exe in glob.glob('build/platform/windows/*%s*.exe' % target.bits)] def package_debian(target, cpu, version, options): make_control(target.version, target.bits, 'debian/control', target.debug, options['gui']) diff --git a/platform/windows/wscript b/platform/windows/wscript index e2dd4646b..0486dcd68 100644 --- a/platform/windows/wscript +++ b/platform/windows/wscript @@ -1,7 +1,7 @@ from __future__ import print_function import os -def write_installer(tools, bits, dcpomatic_version, debug): +def write_installer(tools, bits, nsi_prefix, extra_name, dcpomatic_version, debug): def name_with_underscore(name): return '' if name == 'main' else '_%s' % name @@ -9,13 +9,18 @@ def write_installer(tools, bits, dcpomatic_version, debug): def name_with_space(name): return '' if name == 'main' else ' %s' % name + if extra_name is not None: + extra_name = ' %s' % extra_name + else: + extra_name = '' + # It would be nice to use exist_ok here but it requires quite a new python try: os.makedirs('build/platform/windows') except: pass - filename = 'build/platform/windows/installer.%d.nsi' % bits + filename = 'build/platform/windows/%s.%d.nsi' % (nsi_prefix, bits) f = open(filename, 'w') print('!include "MUI2.nsh"', file=f) @@ -29,7 +34,7 @@ def write_installer(tools, bits, dcpomatic_version, debug): print('RequestExecutionLevel admin', file=f) - outfile = 'DCP-o-matic ' + outfile = 'DCP-o-matic%s ' % extra_name if debug: outfile += 'Debug ' outfile += '%s %d-bit Installer.exe' % (dcpomatic_version, bits) @@ -450,7 +455,10 @@ def build(bld): ('editor', 'Editor'), ('map', 'Map'), ('disk', 'Disk Writer'), + ('server', 'Encode Server'), + ('server_cli', 'Encode Server CLI'), ] for bits in (32, 64): - write_installer(all_tools, bits, bld.env.VERSION, bld.env.DEBUG) + write_installer(all_tools, bits, "all", None, bld.env.VERSION, bld.env.DEBUG) + write_installer([('player', 'Player')], bits, "player", "Player", bld.env.VERSION, bld.env.DEBUG) |
