| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- ############################################################
- # FlatCAM: 2D Post-processing for Manufacturing #
- # http://flatcam.org #
- # Author: Juan Pablo Caram (c) #
- # Date: 2/5/2014 #
- # MIT Licence #
- # #
- # Creates a portlable copy of FlatCAM, including Python #
- # itself and all dependencies. #
- # #
- # This is not an aid to install FlatCAM from source on #
- # Windows platforms. It is only useful when FlatCAM is up #
- # and running and ready to be packaged. #
- ############################################################
- # Files not needed: Qt, tk.dll, tcl.dll, tk/, tcl/, vtk/,
- # scipy.lib.lapack.flapack.pyd, scipy.lib.blas.fblas.pyd,
- # numpy.core._dotblas.pyd, scipy.sparse.sparsetools._bsr.pyd,
- # scipy.sparse.sparsetools._csr.pyd, scipy.sparse.sparsetools._csc.pyd,
- # scipy.sparse.sparsetools._coo.pyd
- import os, site, sys
- from cx_Freeze import setup, Executable
- # this is done to solve the tkinter not being found (Python3)
- # still the DLL's need to be copied to the lib folder but the script can't do it
- PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
- os.environ['TCL_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tcl8.6')
- os.environ['TK_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tk8.6')
- ## Get the site-package folder, not everybody will install
- ## Python into C:\PythonXX
- site_dir = site.getsitepackages()[1]
- include_files = []
- include_files.append((os.path.join(site_dir, "shapely"), "shapely"))
- include_files.append((os.path.join(site_dir, "svg"), "svg"))
- include_files.append((os.path.join(site_dir, "svg/path"), "svg"))
- include_files.append((os.path.join(site_dir, "matplotlib"), "matplotlib"))
- include_files.append(("share", "share"))
- include_files.append((os.path.join(site_dir, "rtree"), "rtree"))
- include_files.append(("README.md", "README.md"))
- include_files.append(("LICENSE", "LICENSE"))
- base = None
- ## Lets not open the console while running the app
- if sys.platform == "win32":
- base = "Win32GUI"
- buildOptions = dict(
- include_files=include_files,
- # excludes=['PyQt4', 'tk', 'tcl']
- excludes=['scipy.lib.lapack.flapack.pyd',
- 'scipy.lib.blas.fblas.pyd',
- 'QtOpenGL4.dll']
- )
- print(("INCLUDE_FILES", include_files))
- exec(compile(open('clean.py').read(), 'clean.py', 'exec'))
- setup(
- name="FlatCAM",
- author="Juan Pablo Caram",
- version="8.5",
- description="FlatCAM: 2D Computer Aided PCB Manufacturing",
- options=dict(build_exe=buildOptions),
- executables=[Executable("FlatCAM.py", icon='share/flatcam_icon48.ico', base=base)]
- )
|