6 from distutils.version import LooseVersion
8 def set_distene_licence(env):
10 license_file = env.environ.get_value("LICENCE_FILE")
11 except Exception as e:
14 if os.path.exists(license_file):
16 env.add_comment("Set DISTENE License")
17 env.set('DISTENE_LICENSE_FILE', 'Use global envvar: DLIM8VAR')
19 if os.access(license_file, os.R_OK):
20 lines = open(license_file, "r").readlines()
22 id1=line.find('r"dlim8')
24 # on a trouvé la clé dlim8 dans line, on extrait sa valeur
25 id2=line.find('"', id1+2)
27 env.set("DLIM8VAR", line[id1+2:id2])
31 def set_DASSAULT_license(env, version):
33 license_file_prefix = env.environ.get_value("LICENCE_FILE")
34 linux_dist = env.environ.get_value("sat_dist")
35 except Exception as e:
37 env.add_comment("DASSAULT MeshGems KeyGenerator based License")
38 if platform.system() == "Windows" :
39 license_file_name=license_file_prefix + '-' + version + '.dll'
41 license_file_name=license_file_prefix + '-' + version + '-' + linux_dist + '.so'
43 if not os.path.exists(license_file_name):
44 print("\nWARNING : DASSAULT license file %s not found!" % license_file_name)
46 env.set('SALOME_MG_KEYGEN_LIB_PATH', license_file_name)
49 def set_env_build(env, prereq_dir, version):
50 env.set('MESHGEMSHOME', prereq_dir)
51 env.set('MESHGEMS_ROOT_DIR', prereq_dir) # update for cmake
53 env.prepend('PATH', os.path.join(prereq_dir, 'bin'))
55 if platform.system() == "Windows" :
56 env.prepend('PATH', os.path.join(prereq_dir, 'lib'))
59 env.prepend('PATH', os.path.join(prereq_dir, 'bin', libdir))
60 env.prepend('LD_LIBRARY_PATH', os.path.join(prereq_dir, 'lib', libdir))
62 def set_env(env, prereq_dir, version):
63 env.add_comment("Here you can define your license parameters for MeshGems")
64 if LooseVersion(version) > LooseVersion('2.12-1'):
65 set_DASSAULT_license(env,version)
67 env.add_comment("DISTENE license")
69 # we don't need licence keys at compile time
70 set_distene_licence(env)
71 set_env_build(env, prereq_dir, version)
74 def set_nativ_env(env):