Salome HOME
Merge branch 'spns/20216' of https://codev-tuleap.cea.fr/plugins/git/salome/sat_salom...
[tools/sat_salome.git] / products / env_scripts / MeshGems.py
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 import os.path
5 import platform
6 from distutils.version import LooseVersion
7
8 def set_distene_licence(env):
9   try:
10     license_file = env.environ.get_value("LICENCE_FILE")
11   except Exception as e:
12     return
13
14   if os.path.exists(license_file):
15     env.add_line(1)
16     env.add_comment("Set DISTENE License")
17     env.set('DISTENE_LICENSE_FILE', 'Use global envvar: DLIM8VAR')
18
19     if os.access(license_file, os.R_OK):
20       lines = open(license_file, "r").readlines()
21       for line in lines:
22         id1=line.find('r"dlim8')
23         if id1 != -1:
24           # on a trouvĂ© la clĂ© dlim8 dans line, on extrait sa valeur
25           id2=line.find('"', id1+2)
26           if id2 != -1:
27            env.set("DLIM8VAR", line[id1+2:id2])
28            break
29   return
30
31 def set_DASSAULT_license(env, version):
32   env.add_comment("DASSAULT MeshGems KeyGenerator based License")
33   if platform.system() == "Windows" :
34     env.set('SALOME_MG_KEYGEN_LIB_PATH', 'W:\\private\\MeshGems\\libSalomeMeshGemsKeyGenerator-' + version + '.dll')
35   else:
36     env.set('SALOME_MG_KEYGEN_LIB_PATH', '/home/salome/private/MeshGems/libSalomeMeshGemsKeyGenerator-' + version + '.so')
37   return
38
39 def set_env(env, prereq_dir, version):
40   env.add_comment("Here you can define your license parameters for MeshGems")
41   if LooseVersion(version) > LooseVersion('2.12-1'):
42     set_DASSAULT_license(env,version)
43   else:
44     env.add_comment("DISTENE license")
45     if not env.forBuild:
46       # we don't need licence keys at compile time
47       set_distene_licence(env)
48
49   env.set('MESHGEMSHOME', prereq_dir)
50   env.set('MESHGEMS_ROOT_DIR', prereq_dir)    # update for cmake
51
52   env.prepend('PATH', os.path.join(prereq_dir, 'bin'))
53
54   if platform.system() == "Windows" :
55     env.prepend('PATH', os.path.join(prereq_dir, 'lib'))
56   else :
57     libdir = "Linux_64"
58     env.prepend('PATH', os.path.join(prereq_dir, 'bin', libdir))
59     env.prepend('LD_LIBRARY_PATH', os.path.join(prereq_dir, 'lib', libdir))
60
61 def set_nativ_env(env):
62   pass