Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
1 result

README.md

Blame
  • checkDependencies.py 1.38 KiB
    # some vtk libs depend on python.
    # correct this dependency and make it point to local python.
    import glob2
    import subprocess
    import shlex
    import os
    import sys
    RED = '\033[0;31m'
    NC = '\033[0m' # No Color
    
    if len(sys.argv) == 1:
        sys.exit("usage: %s path_to_.app_file" % sys.argv[0])
    
    PATH = sys.argv[1] + "/Contents/Frameworks"
    
    CMD = "jpsvis"
    # PATH = "./bin/%s.app/Contents/Frameworks"  % CMD
    # PATH = "/Volumes/jpsvis\ 0.7.0/jpsvis.app/Contents/Frameworks/"
    dependencies = glob2.glob("%s/**/*.dylib"%PATH)
    
    
    #VTK_LIBS
    for vtklib in dependencies:
        
        print "lib: <%s>" % vtklib
    
        cmd = "otool -L %s" % vtklib
        f = open("blah.txt", "w")
        res = subprocess.call(shlex.split(cmd), stdout=f)
        f.close()
        f = open("blah.txt", "r")
        lines = f.readlines()
        for line in lines[1:]:
            line = line.strip()
            if not line.startswith("/usr/lib") \
               and not line.startswith("/System") \
               and not line.startswith("@executable_path"):
    
                print "%s >> <%s> %s" % (RED, line.split()[0], NC)
                change = "install_name_tool -change %s @executable_path/../Frameworks/Python.framework/Versions/3.5/Python %s"%(line.split()[0], vtklib)
                print "<%s>" % change
                res = subprocess.call(shlex.split(change))
                raw_input("pause ...")
                
        f.close()
    
    if os.path.exists ("blah.txt"):
        os.remove("blah.txt")