58 lines
2.0 KiB
Python
58 lines
2.0 KiB
Python
import common as c
|
|
from config import *
|
|
import os
|
|
import sys
|
|
import shutil
|
|
from glob import glob
|
|
|
|
tag = os.environ.get('TAG', '')
|
|
artifact_name = '{}-{}{}-{}.zip'.format(app_name, app_version, tag, os_name)
|
|
if len(sys.argv) > 1 and sys.argv[1] == 'artifact_name': # subcommand
|
|
c.print(artifact_name)
|
|
exit(0)
|
|
artifact_path = os.path.abspath(artifact_name)
|
|
|
|
c.print('>> Making win deploy')
|
|
|
|
if os_name.startswith('win'):
|
|
env_cmd = c.get_msvc_env_cmd(bitness=bitness, msvc_version=msvc_version)
|
|
c.apply_cmd_env(env_cmd)
|
|
|
|
pwd = os.getcwd()
|
|
os.chdir(build_dir)
|
|
|
|
install_dir = os.path.abspath(app_name)
|
|
c.recreate_dir(install_dir)
|
|
|
|
c.run('nmake INSTALL_ROOT="{0}" DESTDIR="{0}" install'.format(install_dir))
|
|
c.run('{}/bin/windeployqt.exe "{}"'.format(qt_dir, install_dir))
|
|
|
|
vcredist_for_ssl_url = ''
|
|
vcredist_for_ssl_file = ''
|
|
if bitness == '32':
|
|
vcredist_for_ssl_url = 'https://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe'
|
|
vcredist_for_ssl_file = 'vc_redist.x86.2010.exe'
|
|
else:
|
|
vcredist_for_ssl_url = 'https://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe'
|
|
vcredist_for_ssl_file = 'vc_redist.x64.2010.exe'
|
|
|
|
c.download(vcredist_for_ssl_url, os.path.join(install_dir, vcredist_for_ssl_file))
|
|
|
|
libs_dir = os.path.join(dependencies_dir, 'bin')
|
|
for file in os.scandir(libs_dir):
|
|
if file.is_file(follow_symlinks=False) and file.name.endswith('.dll'):
|
|
full_name = os.path.join(libs_dir, file.name)
|
|
c.print('>> Copying {} to {}'.format(full_name, install_dir))
|
|
shutil.copy(full_name, install_dir)
|
|
|
|
for f in glob(ssl_dir + '/bin/*.dll'):
|
|
c.print('>> Copying {} to {}'.format(f, install_dir))
|
|
shutil.copy(f, install_dir)
|
|
|
|
open(os.path.join(install_dir, 'qt.conf'), 'a').close() # fix for non-latin paths
|
|
|
|
c.archive(c.get_folder_files(os.path.relpath(install_dir)), artifact_path)
|
|
|
|
bin_path = install_dir + '\\' + bin_name + '.exe'
|
|
c.print('>> Md5 {} {}'.format(bin_path, c.md5sum(bin_path)))
|