X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=build_app.py;h=7c6791ce1c29570c0fd34305bb653e45b1a2e652;hb=16c67477c32e8c5cdff79d23347b0713e32ee1a3;hp=c0b10453428b04a6cf12186b7df3584ec0692984;hpb=0d70a21ee35170c0a517bef2c090c48232a575fc;p=cura.git diff --git a/build_app.py b/build_app.py index c0b10453..7c6791ce 100644 --- a/build_app.py +++ b/build_app.py @@ -5,13 +5,15 @@ import os if sys.platform.startswith('darwin'): from setuptools import setup + version = os.environ['BUILD_NAME'] + APP = ['Cura/cura.py'] - DATA_FILES = ['Cura/LICENSE', 'Cura/resources/images', 'Cura/resources/meshes', 'Cura/resources/example', 'Cura/resources/firmware'] + DATA_FILES = ['Cura/LICENSE', 'Cura/resources/images', 'Cura/resources/meshes', 'Cura/resources/example', 'Cura/resources/firmware', 'Cura/resources/locale', 'Cura/resources/machine_profiles'] PLIST = { u'CFBundleName': u'Cura', - u'CFBundleShortVersionString': u'13.05', - u'CFBundleVersion': u'13.05', - u'CFBundleIdentifier': u'com.ultimaker.Cura', + u'CFBundleShortVersionString': version, + u'CFBundleVersion': version, + u'CFBundleIdentifier': u'com.ultimaker.Cura-'+version, u'LSMinimumSystemVersion': u'10.6', u'LSApplicationCategoryType': u'public.app-category.graphics-design', u'CFBundleDocumentTypes': [ @@ -46,6 +48,20 @@ if sys.platform.startswith('darwin'): u'UTTypeConformsTo': [u'public.xml', u'public.audiovisual-content'], u'UTTypeDescription': u'Digital Asset Exchange (DAE)', u'UTTypeTagSpecification': {u'public.filename-extension': [u'dae'], u'public.mime-type': [u'model/vnd.collada+xml']} + }, + { + u'UTTypeIdentifier': u'com.ultimaker.obj', + u'UTTypeConformsTo': [u'public.data'], + u'UTTypeDescription': u'Wavefront OBJ', + u'UTTypeReferenceURL': u'https://en.wikipedia.org/wiki/Wavefront_.obj_file', + u'UTTypeTagSpecification': {u'public.filename-extension': [u'obj'], u'public.mime-type': [u'text/plain']} + }, + { + u'UTTypeIdentifier': u'com.ultimaker.amf', + u'UTTypeConformsTo': [u'public.data'], + u'UTTypeDescription': u'Additive Manufacturing File', + u'UTTypeReferenceURL': u'https://en.wikipedia.org/wiki/Additive_Manufacturing_File_Format', + u'UTTypeTagSpecification': {u'public.filename-extension': [u'amf'], u'public.mime-type': [u'text/plain']} } ] } @@ -68,63 +84,4 @@ if sys.platform.startswith('darwin'): setup_requires=['py2app'] ) else: - import zipfile - try: - import cx_Freeze - except: - print "ERROR: You need cx-Freeze installed to build this package" - sys.exit(1) - - freezeVersion = map(int, cx_Freeze.version.split('.')) - if freezeVersion[0] < 4 or freezeVersion[0] == 4 and freezeVersion[1] < 2: - print "ERROR: Your cx-Freeze version is too old to use with Cura." - sys.exit(1) - - sys.path.append(os.path.abspath('cura_sf')) - - # Dependencies are automatically detected, but it might need fine tuning. - build_exe_options = { - "silent": True, - "packages": [ - 'encodings.utf_8', - "OpenGL", "OpenGL.arrays", "OpenGL.platform", "OpenGL.GLU", - ], "excludes": [ - 'Tkinter', 'tcl', 'cura_sf', 'fabmetheus_utilities', 'skeinforge_application', 'numpy', - ], "include_files": [ - ('images', 'images'), - ], "build_exe": 'freeze_build'} - - # GUI applications require a different base on Windows (the default is for a - # console application). - base = None - if sys.platform == "win32": - base = "Win32GUI" - - cx_Freeze.setup( name = "Cura", - version = "RC5", - description = "Cura", - options = {"build_exe": build_exe_options}, - executables = [cx_Freeze.Executable("cura.py", base=base)]) - - m = cx_Freeze.ModuleFinder(excludes=["gui"]) - m.IncludeFile(os.path.abspath("cura.py")) - m.IncludeFile(os.path.abspath("cura_sf/skeinforge_application/skeinforge_plugins/profile_plugins/extrusion.py")) - m.IncludeFile(os.path.abspath("cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/stl.py")) - m.IncludeFile(os.path.abspath("cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export_plugins/static_plugins/gcode_small.py")) - for name in os.listdir("cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins"): - if name.endswith('.py'): - m.IncludeFile(os.path.abspath("cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/" + name)) - m.ReportMissingModules() - cwd = os.path.abspath(".") - - z = zipfile.ZipFile("freeze_build/cura_sf.zip", "w", zipfile.ZIP_DEFLATED) - for mod in m.modules: - if mod.file != None and mod.file.startswith(cwd): - if mod.file[len(cwd)+1:] == "cura.py": - z.write(mod.file[len(cwd)+1:], "__main__.py") - else: - z.write(mod.file[len(cwd)+1:]) - z.write('cura_sf/fabmetheus_utilities/templates/layer_template.svg') - z.write('cura_sf/fabmetheus_utilities/version.txt') - z.write('__init__.py') - z.close() + print 'No build_app implementation for your system.'