Salome HOME
update
[tools/sat_salome.git] / products / env_scripts / ParaView.py
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 import os.path
5 import platform
6
7 def set_env(env, prereq_dir, version):
8     # keep only the first two version numbers
9     ver = '.'.join(version.replace('-', '.').split('.')[:2])
10
11     # BUG WITH 5.0_beta
12     if ver == '5.0_beta':
13         ver = '5.0'
14
15     if ver == '5.8.0rc2' :
16         ver = '5.8'
17
18     env.set('PVHOME', prereq_dir)
19     env.set('VTKHOME', prereq_dir)  
20     env.set('PVVERSION', ver)
21     
22     env.set('PARAVIEW_ROOT_DIR', prereq_dir)
23     env.set('PARAVIEW_VERSION', ver)
24
25     set_paraview_env(env, ver)
26     set_vtk_env(env, ver)
27
28 def set_nativ_env(env):
29     if os.getenv("PVHOME") is None:
30         raise Exception("PVHOME is not set")
31     
32     if os.getenv("PVVERSION") is None:
33         raise Exception("PVVERSION is not set")
34
35     version = env.get("PVVERSION")
36     set_paraview_env(env, version)
37
38 def set_paraview_env(env, version):
39     root = env.get('PVHOME')
40     lib_dir = 'lib'
41     env.set('ParaView_DIR', os.path.join(root, lib_dir, 'paraview-%s' % version))
42     env.prepend('PATH', os.path.join(root, 'bin'))
43     
44     if platform.system() == "Windows" :
45         paralib = os.path.join(root, 'lib', 'paraview-' + version)
46         env.prepend('PATH', paralib)
47         env.prepend('PV_PLUGIN_PATH', paralib)
48         env.prepend('PYTHONPATH', os.path.join(root,'bin', 'Lib', 'site-packages'))
49         env.prepend('PYTHONPATH', os.path.join(root,'bin', 'Lib', 'site-packages'))
50         env.prepend('PYTHONPATH', os.path.join(root,'bin', 'Lib', 'site-packages', 'paraview'))
51         env.prepend('PYTHONPATH', os.path.join(root,'bin', 'Lib', 'site-packages', 'vtk'))
52     else:
53         paralib = os.path.join(root, lib_dir, 'paraview-' + version)
54         env.prepend('PV_PLUGIN_PATH', paralib)
55         env.prepend('PYTHONPATH', os.path.join(paralib, 'site-packages'))
56         env.prepend('PYTHONPATH', os.path.join(paralib, 'site-packages', 'vtk'))
57         env.prepend('PATH', os.path.join(root, 'include', 'paraview-' + version))
58         env.prepend('LD_LIBRARY_PATH', os.path.join(root, lib_dir, 'paraview-' + version))
59         env.prepend('PYTHONPATH', paralib)
60
61 def set_vtk_env(env, version):
62     root = env.get('VTKHOME')
63     pyver = 'python' + env.get('PYTHON_VERSION')
64     lib_dir = 'lib'
65
66     #env.prepend('PATH', os.path.join(root, 'bin'))
67
68     env.set('VTK_ROOT_DIR', root)
69     env.set('VTK_DIR', os.path.join(root, lib_dir, 'cmake', 'paraview-' + version))
70     # OP TEST
71     env.prepend('VTK_ROOT_DIR', os.path.join(root, lib_dir, 'cmake', 'paraview-' + version))
72     #env.prepend('VTK_ROOT_DIR', os.path.join(root, lib_dir, 'paraview-' + version))
73     
74     if not platform.system() == "Windows" :
75         #http://computer-programming-forum.com/57-tcl/1dfddc136afccb94.htm
76         #Tcl treats the contents of that variable as a list. Be happy, for you can now use drive letters on windows.
77         env.prepend('LD_LIBRARY_PATH', os.path.join(root, lib_dir))
78         env.prepend('PYTHONPATH', os.path.join(root, lib_dir, pyver, 'site-packages'))
79
80     # 20 03 2013 compilation de PARAVIS basé sur paraview 3.98.1 et VTK 6
81     if version == '3.98':
82         cmake_dir = os.path.join(root, 'lib', 'cmake', 'paraview-' + version)
83         env.set('VTK_DIR', cmake_dir)
84     # fin
85