Abaissement du niveau d'optimisation de la compilation des modules python pour conser...
[minwii.git] / setup_win_exe.py
index 4c42bf5..e122fef 100755 (executable)
@@ -1,4 +1,4 @@
-# -*- coding: utf-8 -*-
+# -*- coding: iso-8859-1 -*-
 # This will create a dist directory containing the executable file, all the data
 # directories. All Libraries will be bundled in executable file.
 #
@@ -43,15 +43,18 @@ def findPguThemesDir() :
         if os.path.isdir(dname):
             return dname
     raise IOError('pgu themes folder not found')
-    
+
+def findMinwiiDir() :
+    import minwii
+    return os.path.dirname(minwii.__file__)
 
 class MinWii2exe(py2exe.build_exe.py2exe) :
     def copy_extensions(self, extensions) :
         py2exe.build_exe.py2exe.copy_extensions(self, extensions)
-        
-        self.copyDataFiles('src/minwii/fonts', 'minwii/fonts')
-        self.copyDataFiles('src/minwii/soundfonts', 'minwii/soundfonts')
-        self.copyDataFiles('src/minwii/widgets/data', 'minwii/widgets/data')
+        minwiiDir = findMinwiiDir()
+        self.copyDataFiles(os.path.join(minwiiDir, 'fonts'), 'minwii/fonts')
+        self.copyDataFiles(os.path.join(minwiiDir, 'soundfonts'), 'minwii/soundfonts')
+        self.copyDataFiles(os.path.join(minwiiDir, 'widgets', 'data'), 'minwii/widgets/data')
         self.copyDataFiles(findPguThemesDir(), 'data/themes')
 
         pygamedir = os.path.dirname(pygame.base.__file__)
@@ -82,20 +85,10 @@ class MinWii2exe(py2exe.build_exe.py2exe) :
                 self.compiled_files.append(os.path.join(reldest, relpath, file))
         
 
-#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
-#        pygamedir = os.path.split(pygame.base.__file__)[0]
-#        pygame_default_font = os.path.join(pygamedir, pygame.font.get_default_font())
-#
-#        #Add font to list of extension to be copied
-#        extensions.append(Module("pygame.font", pygame_default_font))
-#        py2exe.build_exe.py2exe.copy_extensions(self, extensions)
-
 class BuildExe:
     def __init__(self):
         #Name of starting .py
-        self.script = "src/minwii/start_win.py"
+        #self.script = "src/minwii/runminwii.py"
 
         #Name of program
         self.project_name = "MINWii"
@@ -104,7 +97,7 @@ class BuildExe:
         self.project_url = "about:none"
 
         #Version of program
-        self.project_version = "0.0"
+        self.project_version = "1.0"
 
         #License of the program
         self.license = "GPL"
@@ -115,14 +108,12 @@ class BuildExe:
         self.copyright = "Copyright 2010 MINES-ParisTech"
 
         #Description
-        self.project_description = "Musicothérapie Interractive avec la Wii"
+        self.project_description = "Musicothérapie Interractive avec la Wiimote"
 
         #Icon file (None will use pygame default icon)
-        self.icon_file = None
+        self.icon_file = 'minwii.ico'
 
-        #Extra files/dirs copied to game
-        #self.data_files = [('minwii/fonts',
-        #                        glob.glob('src/minwii/fonts/*.ttf'))]
+        self.data_files = []
 
         #Extra/excludes python modules
         self.extra_modules = []
@@ -164,18 +155,25 @@ class BuildExe:
 
             # targets to build
             windows = [{
-                'script': self.script,
+                'script': "src/minwii/runminwii.py",
                 'icon_resources': [(0, self.icon_file)],
                 'copyright': self.copyright
-            }],
-            #console = [self.script],
-            options = {'py2exe': {#'optimize': 2,
-                                  #'bundle_files': 1,
+                },
+                {
+                'script' : "src/minwii/logapp.py",
+                'icon_resources': [(0, 'logapp.ico')],
+                'copyright' : self.copyright
+                }
+                ],
+            #console = ["src/minwii/logapp.py"],
+            options = {'py2exe': {'optimize': 1,
+                                  'bundle_files': 3,
                                   #'compressed': True,
                                   #'excludes': self.exclude_modules,
                                   #'packages': self.extra_modules,
                                   #'dll_excludes': self.exclude_dll,
-                                  'skip_archive' : True}
+                                  'skip_archive' : True
+                                  }
                       },
             zipfile = self.zipfile_name,
             data_files = self.data_files,