Changeset 13fe3be in sasview for installers
- Timestamp:
- May 16, 2017 9:19:23 AM (8 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 7df0ccd
- Parents:
- a67ec83 (diff), 81b1f4d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Location:
- installers
- Files:
-
- 4 added
- 9 moved
Legend:
- Unmodified
- Added
- Removed
-
installers/installer_generator.py
ra1b8fee ra67ec83 6 6 from __future__ import print_function 7 7 8 import local_config 9 import os 8 import os 10 9 import string 11 10 11 root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 12 sys.path.insert(0, os.path.join(root, 'sasview-install', 'Lib', 'site-packages')) 13 from sas.sasview import local_config 12 14 13 15 REG_PROGRAM = """{app}\MYPROG.EXE"" ""%1""" … … 23 25 AppUpdatesURL = local_config._homepage 24 26 ChangesEnvironment = 'true' 25 DefaultDirName = os.path.join("{pf}" , AppName+Dev) 27 DefaultDirName = os.path.join("{pf}" , AppName+Dev) 26 28 DefaultGroupName = os.path.join(local_config.DefaultGroupName, AppVerName) 27 29 28 30 OutputBaseFilename = local_config.OutputBaseFilename 29 31 SetupIconFile = "images\\ball.ico" … … 46 48 list_app =[] 47 49 try: 48 50 49 51 #(ext, type, name, flags) 50 52 from sas.sascalc.dataloader.loader import Loader … … 55 57 if ext.strip() not in ['.*', ''] and ext.strip() not in list_data: 56 58 list_data.append((ext, 'string', file_type)) 57 except :59 except Exception: 58 60 pass 59 61 try: … … 61 63 if ext.strip() not in ['.', ''] and ext.strip() not in list_app: 62 64 list_app.append((ext, 'string', file_type)) 63 except :65 except Exception: 64 66 pass 65 67 try: … … 67 69 file_type, ext = string.split(item, "|*", 1) 68 70 if ext.strip() not in ['.', ''] and ext.strip() not in list_app: 69 list_app.append((ext, 'string', file_type)) 70 except :71 list_app.append((ext, 'string', file_type)) 72 except Exception: 71 73 pass 72 74 return list_data, list_app … … 91 93 % str(APPLICATION) 92 94 msg += """ValueType: %s; """ % str('string') 93 msg += """ValueName: "%s";\t""" %str('') 95 msg += """ValueName: "%s";\t""" %str('') 94 96 msg += """ValueData: \"""{app}\%s"" ""%s1\"""; \t"""% (str(APPLICATION), 95 str('%')) 97 str('%')) 96 98 msg += """ Flags: %s""" % str('uninsdeletevalue noerror') 97 99 msg += "\n" 98 user_list = "Software\Classes" 100 user_list = "Software\Classes" 99 101 for (ext, type, _) in data_extension: 100 102 list = os.path.join(user_list, ext, openwithlist) … … 107 109 % (str(user_list), str(APPLICATION)) 108 110 msg += """ValueType: %s; """ % str('string') 109 msg += """ValueName: "%s";\t""" %str('') 111 msg += """ValueName: "%s";\t""" %str('') 110 112 msg += """ValueData: \"""{app}\%s"" ""%s1\"""; \t"""% (str(APPLICATION), 111 str('%')) 113 str('%')) 112 114 msg += """ Flags: %s""" % str('uninsdeletevalue noerror') 113 msg += "\n" 115 msg += "\n" 114 116 if app_extension is not None and app_extension: 115 117 for (ext, type, _) in app_extension: 116 118 msg += """Root: HKCR;\tSubkey: "%s";\t""" % str(ext) 117 119 msg += """ValueType: %s;\t""" % str(type) 118 #file type empty set the current application as the default 120 #file type empty set the current application as the default 119 121 #reader for this file. change the value of file_type to another 120 122 #string modify the default reader … … 126 128 msg += """Root: HKCR; Subkey: "{app}\%s";\t""" % str(APPLICATION) 127 129 msg += """ValueType: %s; """ % str('string') 128 msg += """ValueName: "%s";\t""" % str('') 129 msg += """ValueData: "{app}\%s";\t""" % str("SasView File") 130 msg += """ValueName: "%s";\t""" % str('') 131 msg += """ValueData: "{app}\%s";\t""" % str("SasView File") 130 132 msg += """ Flags: %s \t""" % str("uninsdeletekey noerror") 131 133 msg += "\n" 132 134 133 135 #execute the file on double-click 134 136 msg += """Root: HKCR; Subkey: "{app}\%s\shell\open\command";\t""" % str(APPLICATION) 135 137 msg += """ValueType: %s; """ % str('string') 136 msg += """ValueName: "%s";\t""" %str('') 138 msg += """ValueName: "%s";\t""" %str('') 137 139 msg += """ValueData: \"""{app}\%s"" ""%s1\""";\t"""% (str(APPLICATION), 138 str('%')) 140 str('%')) 139 141 msg += """ Flags: %s \t""" % str("uninsdeletevalue noerror") 140 msg += "\n" 142 msg += "\n" 141 143 #create default icon 142 144 msg += """Root: HKCR; Subkey: "{app}\%s";\t""" % str(SetupIconFile) 143 145 msg += """ValueType: %s; """ % str('string') 144 msg += """ValueName: "%s";\t""" % str('') 146 msg += """ValueName: "%s";\t""" % str('') 145 147 msg += """ValueData: "{app}\%s,0";\t""" % str(APPLICATION) 146 148 msg += """ Flags: %s \t""" % str("uninsdeletevalue noerror") 147 msg += "\n" 148 149 149 msg += "\n" 150 151 150 152 #SASVIEWPATH 151 153 msg += """Root: HKLM; Subkey: "%s";\t""" % str('SYSTEM\CurrentControlSet\Control\Session Manager\Environment') 152 154 msg += """ValueType: %s; """ % str('expandsz') 153 msg += """ValueName: "%s";\t""" % str('SASVIEWPATH') 155 msg += """ValueName: "%s";\t""" % str('SASVIEWPATH') 154 156 msg += """ValueData: "{app}";\t""" 155 157 msg += """ Flags: %s""" % str('uninsdeletevalue noerror') 156 158 msg += "\n" 157 159 158 160 #PATH 159 161 msg += """; Write to PATH (below) is disabled; need more tests\n""" 160 162 msg += """;Root: HKCU; Subkey: "%s";\t""" % str('Environment') 161 163 msg += """ValueType: %s; """ % str('expandsz') 162 msg += """ValueName: "%s";\t""" % str('PATH') 164 msg += """ValueName: "%s";\t""" % str('PATH') 163 165 msg += """ValueData: "%s;{olddata}";\t""" % str('%SASVIEWPATH%') 164 166 msg += """ Check: %s""" % str('NeedsAddPath()') 165 167 msg += "\n" 166 167 return msg 168 169 def write_language (language=['english'], msfile="compiler:Default.isl"):168 169 return msg 170 171 def write_languages(languages=('english',), msfile="compiler:Default.isl"): 170 172 """ 171 173 define the language of the application 172 """ 174 """ 173 175 msg = '' 174 if language :176 if languages: 175 177 msg = "\n\n[Languages]\n" 176 for lang in language: 177 msg += """Name: "%s";\tMessagesFile: "%s"\n""" % (str(lang), 178 str(msfile)) 179 return msg 178 for lang in languages: 179 msg += """Name: "%s";\tMessagesFile: "%s"\n""" % (str(lang), str(msfile)) 180 return msg 180 181 181 182 def write_tasks(): … … 201 202 msg += """Flags: ignoreversion recursesubdirs createallsubdirs\n""" 202 203 msg += """Source: "dist\plugin_models\*";\tDestDir: "{userdesktop}\..\.sasview\plugin_models";\t""" 203 msg += """Flags: recursesubdirs createallsubdirs\n""" 204 msg += """Flags: recursesubdirs createallsubdirs\n""" 204 205 msg += """Source: "dist\compiled_models\*";\tDestDir: "{userdesktop}\..\.sasmodels\compiled_models";\t""" 205 206 msg += """Flags: recursesubdirs createallsubdirs\n""" 206 msg += """Source: "dist\config\custom_config.py";\tDestDir: "{userdesktop}\..\.sasview\config";\t""" 207 msg += """Source: "dist\config\custom_config.py";\tDestDir: "{userdesktop}\..\.sasview\config";\t""" 207 208 msg += """Flags: recursesubdirs createallsubdirs\n""" 208 #msg += """Source: "dist\default_categories.json"; DestDir: "{userdesktop}\..\.sasview";\t""" 209 #msg += """Source: "dist\default_categories.json"; DestDir: "{userdesktop}\..\.sasview";\t""" 209 210 #msg += """DestName: "categories.json";\n""" 210 211 msg += """;\tNOTE: Don't use "Flags: ignoreversion" on any shared system files""" … … 235 236 msg = """\n\n[Run]\n""" 236 237 msg += """Filename: "{app}\%s";\t""" % str(APPLICATION) 237 msg += """Description: "{cm:LaunchProgram, %s}";\t""" %str(AppName) 238 msg += """Description: "{cm:LaunchProgram, %s}";\t""" %str(AppName) 238 239 msg += """Flags: nowait postinstall skipifsilent\n""" 239 240 msg += """; Install the Microsoft C++ DLL redistributable package if it is """ … … 260 261 msg = """\n\n[Dirs]\n""" 261 262 msg += """Name: "{app}\%s";\t""" % str('') 262 msg += """Permissions: everyone-modify\t""" 263 msg += """\n""" 263 msg += """Permissions: everyone-modify\t""" 264 msg += """\n""" 264 265 return msg 265 266 266 267 def write_code(): 267 268 """ 268 Code that checks the existing path and snaviewpath 269 Code that checks the existing path and snaviewpath 269 270 in the environmental viriables/PATH 270 271 """ 271 272 msg = """\n\n[Code]\n""" 272 msg += """function InstallVC90CRT(): Boolean;\n""" 273 msg += """function InstallVC90CRT(): Boolean;\n""" 273 274 msg += """begin\n""" 274 275 msg += """ Result := not DirExists('C:\WINDOWS\WinSxS\\x86_Microsoft.VC90.""" 275 276 msg += """CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375');\n""" 276 277 msg += """end;\n\n""" 277 msg += """function NeedsAddPath(): boolean;\n""" 278 msg += """var\n""" 278 msg += """function NeedsAddPath(): boolean;\n""" 279 msg += """var\n""" 279 280 msg += """ oldpath: string;\n""" 280 msg += """ newpath: string;\n""" 281 msg += """ pathArr: TArrayOfString;\n""" 282 msg += """ i: Integer;\n""" 283 msg += """begin\n""" 281 msg += """ newpath: string;\n""" 282 msg += """ pathArr: TArrayOfString;\n""" 283 msg += """ i: Integer;\n""" 284 msg += """begin\n""" 284 285 msg += """ RegQueryStringValue(HKEY_CURRENT_USER,'Environment',""" 285 286 msg += """'PATH', oldpath)\n""" … … 324 325 msg += """; installation.\n""" 325 326 msg += """Type: dirifempty; Name: "{app}"\n""" 326 msg += """\n""" 327 msg += """\n""" 327 328 return msg 328 329 … … 333 334 TEMPLATE += "\n; and local_config.py located in this directory.\n " 334 335 TEMPLATE += "; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!" 335 TEMPLATE += "\n[Setup]\n\n" 336 TEMPLATE += "\n[Setup]\n\n" 336 337 TEMPLATE += "ChangesAssociations=%s\n" %str('yes') 337 338 TEMPLATE += "AppName=%s\n" % str(AppName) … … 352 353 TEMPLATE += "PrivilegesRequired=%s\n" % str(PrivilegesRequired) 353 354 TEMPLATE += "UsePreviousAppDir=no\n" 354 355 355 356 TEMPLATE += write_registry(data_extension=DATA_EXTENSION, 356 357 app_extension=APP_EXTENSION) 357 TEMPLATE += write_language ()358 TEMPLATE += write_languages() 358 359 TEMPLATE += write_tasks() 359 360 TEMPLATE += write_file() … … 364 365 TEMPLATE += write_uninstalldelete() 365 366 path = '%s.iss' % str(INSTALLER_FILE) 366 f = open(path,'w') 367 f = open(path,'w') 367 368 f.write(TEMPLATE) 368 369 f.close() 369 370 print("Generate Inno setup installer script complete") 370 371 print("A new file %s.iss should be created.Please refresh your directory" % str(INSTALLER_FILE)) 371 372 372 373 if __name__ == "__main__": 373 374 generate_installer() -
installers/setup_exe.py
ra1b8fee red03b99 3 3 # 4 4 # The setup to create a Windows executable. 5 # Inno Setup can then be used with the installer.iss file 6 # in the top source directory to create an installer. 5 # Inno Setup can then be used with the installer.iss file 6 # in the top source directory to create an installer. 7 7 # 8 8 # Setuptools clashes with py2exe 0.6.8 (and probably later too). 9 9 # For that reason, most of the code needs to have direct imports 10 # that are not going through pkg_resources. 10 # that are not going through pkg_resources. 11 11 # 12 12 # Attention should be paid to dynamic imports. Data files can … … 34 34 root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 35 35 platform = '%s-%s'%(get_platform(), sys.version[:3]) 36 build_path = os.path.join(root, 'build', 'lib.'+platform)37 #build_path = os.path.join(root, 'sasview-install', 'Lib', 'site-packages')36 doc_path = os.path.join(root, 'build', 'lib.'+platform, 'doc') 37 build_path = os.path.join(root, 'sasview-install', 'Lib', 'site-packages') 38 38 sys.path.insert(0, build_path) 39 39 40 import local_config40 from sas.sasview import local_config 41 41 from installer_generator import generate_installer 42 42 … … 174 174 path = os.getcwd() 175 175 176 media_dir = os.path.join(path, "media")177 images_dir = os.path.join(path, "images")178 test_dir = os.path.join(path, "test")179 test_1d_dir = os.path.join(path, "test\\1d_data")180 test_2d_dir = os.path.join(path, "test\\2d_data")181 test_save_dir = os.path.join(path, "test\\save_states")182 test_upcoming_dir = os.path.join(path, "test\\upcoming_formats")183 184 176 matplotlibdatadir = matplotlib.get_data_path() 185 177 matplotlibdata = findall(matplotlibdatadir) 186 178 187 site_loc = get_python_lib() 188 opencl_include_dir = os.path.join(site_loc, "pyopencl", "cl") 189 190 data_files = [] 179 DATA_FILES = [] 191 180 192 181 if tinycc: 193 data_files+= tinycc.data_files()182 DATA_FILES += tinycc.data_files() 194 183 195 184 # Copying SLD data 196 185 import periodictable 197 data_files+= periodictable.data_files()198 199 import sas.sasgui.perspectives.fitting asfitting200 data_files+= fitting.data_files()201 202 import sas.sasgui.perspectives.calculator ascalculator203 data_files+= calculator.data_files()204 205 import sas.sasgui.perspectives.invariant asinvariant206 data_files+= invariant.data_files()207 208 import sas.sasgui.guiframe asguiframe209 data_files+= guiframe.data_files()186 DATA_FILES += periodictable.data_files() 187 188 from sas.sasgui.perspectives import fitting 189 DATA_FILES += fitting.data_files() 190 191 from sas.sasgui.perspectives import calculator 192 DATA_FILES += calculator.data_files() 193 194 from sas.sasgui.perspectives import invariant 195 DATA_FILES += invariant.data_files() 196 197 from sas.sasgui import guiframe 198 DATA_FILES += guiframe.data_files() 210 199 211 200 # precompile sas models into the sasview build path; doesn't matter too much … … 217 206 # include the compiled models as data; coordinate the target path for the 218 207 # data with installer_generator.py 219 data_files.append(('compiled_models', compiled_dlls))208 DATA_FILES.append(('compiled_models', compiled_dlls)) 220 209 221 210 import sasmodels 222 data_files+= sasmodels.data_files()211 DATA_FILES += sasmodels.data_files() 223 212 224 213 for f in matplotlibdata: 225 214 dirname = os.path.join('mpl-data', f[len(matplotlibdatadir)+1:]) 226 data_files.append((os.path.split(dirname)[0], [f]))215 DATA_FILES.append((os.path.split(dirname)[0], [f])) 227 216 228 217 # Copy the settings file for the sas.dataloader file extension associations 229 import sas.sascalc.dataloader.readers 230 f = os.path.join(sas.sascalc.dataloader.readers.get_data_path(), 'defaults.json') 231 if os.path.isfile(f): 232 data_files.append(('.', [f])) 233 f = 'custom_config.py' 234 if os.path.isfile(f): 235 data_files.append(('.', [f])) 236 data_files.append(('config', [f])) 237 f = 'local_config.py' 238 if os.path.isfile(f): 239 data_files.append(('.', [f])) 240 241 f = 'logging.ini' 242 if os.path.isfile(f): 243 data_files.append(('.', [f])) 244 245 #f = 'default_categories.json' 246 #if os.path.isfile(f): 247 # data_files.append(('.', [f])) 248 249 # numerical libraries 218 from sas.sascalc.dataloader import readers 219 reader_config = os.path.join(readers.get_data_path(), 'defaults.json') 220 if os.path.isfile(reader_config): 221 DATA_FILES.append(('.', [reader_config])) 222 223 # Copy the config files 224 sas_path = os.path.join('..', 'src', 'sas') 225 DATA_FILES.append(('.', [os.path.join(sas_path, 'logging.ini')])) 226 sasview_path = os.path.join(sas_path,'sasview') 227 config_files = [ 228 'custom_config.py', 229 'local_config.py', 230 #'default_categories.json', 231 ] 232 DATA_FILES.append(('.', [os.path.join(sasview_path, v) for v in config_files])) 233 DATA_FILES.append(('config', [os.path.join(sasview_path, 'custom_config.py')])) 234 235 # default_categories.json is beside the config files 236 category_config = os.path.join(os.path.dirname(local_config_file), 237 'default_categories.json') 238 if os.path.isfile(category_config): 239 DATA_FILES.append(('.', [category_config])) 240 241 if os.path.isfile("BUILD_NUMBER"): 242 DATA_FILES.append(('.', ["BUILD_NUMBER"])) 243 244 images_dir = local_config.icon_path 245 media_dir = local_config.media_path 246 test_dir = local_config.test_path 247 test_1d_dir = os.path.join(test_dir, "1d_data") 248 test_2d_dir = os.path.join(test_dir, "2d_data") 249 test_save_dir = os.path.join(test_dir, "save_states") 250 test_upcoming_dir = os.path.join(test_dir, "upcoming_formats") 251 252 # Copying the images directory to the distribution directory. 253 for f in findall(images_dir): 254 DATA_FILES.append(("images", [f])) 255 256 # Copying the HTML help docs 257 for f in findall(media_dir): 258 DATA_FILES.append(("media", [f])) 259 260 # Copying the sample data user data 261 for f in findall(test_1d_dir): 262 DATA_FILES.append((os.path.join("test","1d_data"), [f])) 263 264 # Copying the sample data user data 265 for f in findall(test_2d_dir): 266 DATA_FILES.append((os.path.join("test","2d_data"), [f])) 267 268 # Copying the sample data user data 269 for f in findall(test_save_dir): 270 DATA_FILES.append((os.path.join("test","save_states"), [f])) 271 272 # Copying the sample data user data 273 for f in findall(test_upcoming_dir): 274 DATA_FILES.append((os.path.join("test","upcoming_formats"), [f])) 275 276 # Copying opencl include files 277 site_loc = get_python_lib() 278 opencl_include_dir = os.path.join(site_loc, "pyopencl", "cl") 279 for f in findall(opencl_include_dir): 280 DATA_FILES.append((os.path.join("includes","pyopencl"), [f])) 281 282 # Numerical libraries 283 python_root = os.path.dirname(os.path.abspath(sys.executable)) 250 284 def dll_check(dll_path, dlls): 251 285 dll_includes = [os.path.join(dll_path, dll+'.dll') for dll in dlls] 252 286 return [dll for dll in dll_includes if os.path.exists(dll)] 253 287 254 python_root = os.path.dirname(os.path.abspath(sys.executable))255 288 # Check for ATLAS 256 dll_path = os.path.join(python_root, 'lib', 'site-packages', 'numpy', 'core') 257 dlls = ['numpy-atlas'] 258 atlas_dlls = dll_check(dll_path, dlls) 289 numpy_path = os.path.join(python_root, 'lib', 'site-packages', 'numpy', 'core') 290 atlas_dlls = dll_check(numpy_path, ['numpy-atlas']) 259 291 260 292 # Check for MKL 261 dll_path = os.path.join(python_root, 'Library', 'bin') 262 dlls = ['mkl_core', 'mkl_def', 'libiomp5md'] 263 mkl_dlls = dll_check(dll_path, dlls) 293 mkl_path = os.path.join(python_root, 'Library', 'bin') 294 mkl_dlls = dll_check(mkl_path, ['mkl_core', 'mkl_def', 'libiomp5md']) 264 295 265 296 if atlas_dlls: 266 data_files.append(('.', atlas_dlls))297 DATA_FILES.append(('.', atlas_dlls)) 267 298 elif mkl_dlls: 268 data_files.append(('.', mkl_dlls)) 269 270 if os.path.isfile("BUILD_NUMBER"): 271 data_files.append(('.', ["BUILD_NUMBER"])) 272 273 # Copying the images directory to the distribution directory. 274 for f in findall(images_dir): 275 if not ".svn" in f: 276 data_files.append(("images", [f])) 277 278 # Copying the HTML help docs 279 for f in findall(media_dir): 280 if not ".svn" in f: 281 data_files.append(("media", [f])) 282 283 # Copying the sample data user data 284 for f in findall(test_1d_dir): 285 if not ".svn" in f: 286 data_files.append(("test\\1d_data", [f])) 287 288 # Copying the sample data user data 289 for f in findall(test_2d_dir): 290 if not ".svn" in f: 291 data_files.append(("test\\2d_data", [f])) 292 293 # Copying the sample data user data 294 for f in findall(test_save_dir): 295 if not ".svn" in f: 296 data_files.append(("test\\save_states", [f])) 297 298 # Copying the sample data user data 299 for f in findall(test_upcoming_dir): 300 if not ".svn" in f: 301 data_files.append(("test\\upcoming_formats", [f])) 302 303 # Copying opencl include files 304 for f in findall(opencl_include_dir): 305 data_files.append(("includes\\pyopencl",[f])) 299 DATA_FILES.append(('.', mkl_dlls)) 306 300 307 301 # See if the documentation has been built, and if so include it. 308 doc_path = os.path.join(build_path, "doc")309 302 if os.path.exists(doc_path): 310 303 for dirpath, dirnames, filenames in os.walk(doc_path): 311 304 for filename in filenames: 312 305 sub_dir = os.path.join("doc", os.path.relpath(dirpath, doc_path)) 313 data_files.append((sub_dir, [os.path.join(dirpath, filename)]))306 DATA_FILES.append((sub_dir, [os.path.join(dirpath, filename)])) 314 307 else: 315 308 raise Exception("You must first build the documentation before creating an installer.") … … 317 310 if msvcrtdll_data_files is not None: 318 311 # install the MSVC 9 runtime dll's into the application folder 319 data_files.append(msvcrtdll_data_files)312 DATA_FILES.append(msvcrtdll_data_files) 320 313 321 314 # NOTE: … … 341 334 ]) 342 335 packages.append('periodictable.core') # not found automatically 343 # packages.append('IPython') 336 337 # For an interactive interpreter, SasViewCom 338 packages.extend(['IPython','pyreadline','pyreadline.unicode_helper']) 339 340 # individual models 344 341 includes = ['site', 'lxml._elementpath', 'lxml.etree'] 345 342 … … 351 348 352 349 353 dll_excludes = [354 350 # Various matplotlib backends we are not using 355 351 'libgdk_pixbuf-2.0-0.dll', 'libgobject-2.0-0.dll', 'libgdk-win32-2.0-0.dll', 356 352 'tcl84.dll', 'tk84.dll', 'QtGui4.dll', 'QtCore4.dll', 357 353 # numpy 1.8 openmp bindings (still seems to use all the cores without them) 354 # ... but we seem to need them when building from anaconda, so don't exclude ... 358 355 #'libiomp5md.dll', 'libifcoremd.dll', 'libmmd.dll', 'svml_dispmd.dll','libifportMD.dll', 359 356 'numpy-atlas.dll', … … 370 367 target_wx_client = Target( 371 368 description = 'SasView', 372 script = 'sasview .py',373 icon_resources = [(1, os.path.join(images_dir, "ball.ico"))],369 script = 'sasview_gui.py', 370 icon_resources = [(1, local_config.SetupIconFile_win)], 374 371 other_resources = [(24, 1, manifest)], 375 372 dest_base = "SasView" 376 373 ) 377 374 378 # bundle_option = 2 379 bundle_option = 3 380 if is_64bits: 381 bundle_option = 3 375 target_console_client = Target( 376 description = 'SasView console', 377 script = 'sasview_console.py', 378 icon_resources = [(1, local_config.SetupIconFile_win)], 379 other_resources = [(24, 1, manifest)], 380 dest_base = "SasViewCom" 381 ) 382 383 bundle_option = 3 if is_64bits else 2 382 384 generate_installer() 383 385 #initialize category stuff … … 387 389 setup( 388 390 windows=[target_wx_client], 389 console=[ ],391 console=[target_console_client], 390 392 options={ 391 393 'py2exe': { … … 399 401 }, 400 402 }, 401 data_files= data_files,403 data_files=DATA_FILES, 402 404 )
Note: See TracChangeset
for help on using the changeset viewer.