Salome HOME
spns #24320 : license header file approach
[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   env.set('SALOME_MG_KEYGEN_LIB_PATH', '/home/salome/private/MeshGems/libSalomeMeshGemsKeyGenerator-' + version + '.so')
34   return
35
36 def set_env(env, prereq_dir, version):
37   env.add_comment("Here you can define your license parameters for MeshGems")
38   if LooseVersion(version) > LooseVersion('2.12-1'):
39     set_DASSAULT_license(env,version)
40   else:
41     env.add_comment("DISTENE license")
42     if not env.forBuild:
43       # we don't need licence keys at compile time
44       set_distene_licence(env)
45
46   env.set('MESHGEMSHOME', prereq_dir)
47   env.set('MESHGEMS_ROOT_DIR', prereq_dir)    # update for cmake
48
49   env.prepend('PATH', os.path.join(prereq_dir, 'bin'))
50
51   if platform.system() == "Windows" :
52     env.prepend('PATH', os.path.join(prereq_dir, 'lib'))
53   else :
54     libdir = "Linux_64"
55     env.prepend('PATH', os.path.join(prereq_dir, 'bin', libdir))
56     env.prepend('LD_LIBRARY_PATH', os.path.join(prereq_dir, 'lib', libdir))
57
58 def set_nativ_env(env):
59   pass