X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/blobdiff_plain/b4d2fe93ad71b4328a1bc492f8a3b1eec8b64212..886983ad09edd97504d714017bd02ed92ce0f401:/setup_win_exe.py diff --git a/setup_win_exe.py b/setup_win_exe.py index de4ccd9..0f29257 100755 --- a/setup_win_exe.py +++ b/setup_win_exe.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # This will create a dist directory containing the executable file, all the data # directories. All Libraries will be bundled in executable file. # @@ -17,6 +18,15 @@ try: except ImportError, message: raise SystemExit, "Unable to load module. %s" % message + +origIsSystemDLL = py2exe.build_exe.isSystemDLL +def isSystemDLL(pathname): + if os.path.basename(pathname).lower() in ["sdl_ttf.dll"]: + return 0 + return origIsSystemDLL(pathname) +py2exe.build_exe.isSystemDLL = isSystemDLL + + class pygame2exe(py2exe.build_exe.py2exe): #This hack make sure that pygame default font is copied: no need to modify code for specifying default font def copy_extensions(self, extensions): #Get pygame default font @@ -30,10 +40,10 @@ class pygame2exe(py2exe.build_exe.py2exe): #This hack make sure that pygame defa class BuildExe: def __init__(self): #Name of starting .py - self.script = "MyApps.py" + self.script = "src/minwii/start_win.py" #Name of program - self.project_name = "MyApps" + self.project_name = "MINWii" #Project url self.project_url = "about:none" @@ -109,6 +119,10 @@ class BuildExe: if os.path.isdir(self.dist_dir): #Erase previous destination dir shutil.rmtree(self.dist_dir) + if os.path.isdir('build'): #Clean up build dir + shutil.rmtree('build') + + #Use the default pygame icon, if none given if self.icon_file == None: path = os.path.split(pygame.__file__)[0] @@ -122,6 +136,7 @@ class BuildExe: else: extra_datas.append(('.', [data])) + setup( cmdclass = {'py2exe': pygame2exe}, version = self.project_version, @@ -138,19 +153,23 @@ class BuildExe: 'icon_resources': [(0, self.icon_file)], 'copyright': self.copyright }], - options = {'py2exe': {'optimize': 2, 'bundle_files': 1, 'compressed': True, \ - 'excludes': self.exclude_modules, 'packages': self.extra_modules, \ - 'dll_excludes': self.exclude_dll} }, + options = {'py2exe': {#'optimize': 2, + 'bundle_files': 1, + #'compressed': True, + 'excludes': self.exclude_modules, + 'packages': self.extra_modules, + 'dll_excludes': self.exclude_dll} + }, zipfile = self.zipfile_name, data_files = extra_datas, dist_dir = self.dist_dir ) - if os.path.isdir('build'): #Clean up build dir - shutil.rmtree('build') + #if os.path.isdir('build'): #Clean up build dir + # shutil.rmtree('build') if __name__ == '__main__': if operator.lt(len(sys.argv), 2): sys.argv.append('py2exe') BuildExe().run() #Run generation - raw_input("Press any key to continue") #Pause to let user see that things ends + #raw_input("Press any key to continue") #Pause to let user see that things ends