build_windows_package.py 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. #!/usr/bin/env python3
  2. import os, urllib.request, shutil, subprocess
  3. from glob import glob
  4. sdl_url = 'http://libsdl.org/release/SDL2-devel-2.0.3-VC.zip'
  5. sdl_filename = 'SDL2-devel-2.0.3-VC.zip'
  6. sdl_dir = 'SDL2-2.0.3'
  7. shutil.rmtree('build', ignore_errors=True)
  8. os.mkdir('build')
  9. if not os.path.exists(sdl_filename):
  10. response = urllib.request.urlopen(sdl_url)
  11. data = response.read()
  12. open(sdl_filename, 'wb').write(data)
  13. shutil.unpack_archive(sdl_filename, 'build')
  14. libs = glob(os.path.join('build', sdl_dir, 'lib/x86/*'))
  15. [shutil.copy(x, 'build') for x in libs]
  16. # Sorry for this hack but this needs to work during development
  17. # when Meson is not in path.
  18. subprocess.check_call(['python3', r'..\..\meson.py', 'build',
  19. '--backend=ninja', '--buildtype=release'])
  20. subprocess.check_call(['ninja'], cwd='build')
  21. shutil.copy('myapp.iss', 'build')
  22. subprocess.check_call([r'\Program Files\Inno Setup 5\ISCC.exe', 'myapp.iss'],
  23. cwd='build')
  24. shutil.copy('build/setup.exe', 'myapp 1.0.exe')
  25. shutil.rmtree('build')