Salome HOME
add salome_system to the list of dependencies for native builds...
[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', 'paraview'))
49         env.prepend('PYTHONPATH', os.path.join(root,'bin', 'Lib', 'site-packages', 'vtk'))
50         env.prepend('PYTHONPATH', os.path.join(root,'bin', 'Lib', 'site-packages'))
51     else:
52         paralib = os.path.join(root, lib_dir, 'paraview-' + version)
53         env.prepend('PV_PLUGIN_PATH', paralib)
54         env.prepend('PYTHONPATH', os.path.join(paralib, 'site-packages'))
55         env.prepend('PYTHONPATH', os.path.join(paralib, 'site-packages', 'vtk'))
56         env.prepend('PATH', os.path.join(root, 'include', 'paraview-' + version))
57         env.prepend('LD_LIBRARY_PATH', os.path.join(root, lib_dir, 'paraview-' + version))
58         env.prepend('PYTHONPATH', paralib)
59
60 def set_vtk_env(env, version):
61     root = env.get('VTKHOME')
62     pyver = 'python' + env.get('PYTHON_VERSION')
63     lib_dir = 'lib'
64
65     #env.prepend('PATH', os.path.join(root, 'bin'))
66
67     env.set('VTK_ROOT_DIR', root)
68     env.set('VTK_DIR', os.path.join(root, lib_dir, 'cmake', 'paraview-' + version))
69     # OP TEST
70     env.prepend('VTK_ROOT_DIR', os.path.join(root, lib_dir, 'cmake', 'paraview-' + version))
71     #env.prepend('VTK_ROOT_DIR', os.path.join(root, lib_dir, 'paraview-' + version))
72     
73     if not platform.system() == "Windows" :
74         #http://computer-programming-forum.com/57-tcl/1dfddc136afccb94.htm
75         #Tcl treats the contents of that variable as a list. Be happy, for you can now use drive letters on windows.
76         env.prepend('LD_LIBRARY_PATH', os.path.join(root, lib_dir))
77         env.prepend('PYTHONPATH', os.path.join(root, lib_dir, pyver, 'site-packages'))
78
79     # 20 03 2013 compilation de PARAVIS basé sur paraview 3.98.1 et VTK 6
80     if version == '3.98':
81         cmake_dir = os.path.join(root, 'lib', 'cmake', 'paraview-' + version)
82         env.set('VTK_DIR', cmake_dir)
83     # fin
84