Salome HOME
spns #40729: MeshGems 2024.1 - windows
[tools/sat_salome.git] / products / env_scripts / MeshGems.py
index 8ccf5f4b5b46cceed561ee8c7ce302fa8a3b72b9..55d8fe6c41dc4d1a49333edf079242d4e183dfd8 100644 (file)
@@ -29,20 +29,24 @@ def set_distene_licence(env):
   return
 
 def set_DASSAULT_license(env, version):
+  try:
+    license_file_prefix = env.environ.get_value("LICENCE_FILE")
+    linux_dist = env.environ.get_value("sat_dist")
+  except Exception as e:
+    return
   env.add_comment("DASSAULT MeshGems KeyGenerator based License")
-  env.set('SALOME_MG_KEYGEN_LIB_PATH', '/home/salome/private/MeshGems/libSalomeMeshGemsKeyGenerator.so')
-  return
-
-def set_env(env, prereq_dir, version):
-  env.add_comment("Here you can define your license parameters for MeshGems")
-  if LooseVersion(version) > LooseVersion('2.12-1'):
-    set_DASSAULT_license(env,version)
+  if platform.system() == "Windows" :
+    license_file_name=license_file_prefix + '-' + version + '.dll'
   else:
-    env.add_comment("DISTENE license")
-    if not env.forBuild:
-      # we don't need licence keys at compile time
-      set_distene_licence(env)
+    license_file_name=license_file_prefix + '-' + version + '-' + linux_dist + '.so'
 
+  if not os.path.exists(license_file_name):
+     print("\nWARNING : DASSAULT license file %s not found!" % license_file_name) 
+
+  env.set('SALOME_MG_KEYGEN_LIB_PATH', license_file_name)
+  return
+
+def set_env_build(env, prereq_dir, version):
   env.set('MESHGEMSHOME', prereq_dir)
   env.set('MESHGEMS_ROOT_DIR', prereq_dir)    # update for cmake
 
@@ -55,5 +59,27 @@ def set_env(env, prereq_dir, version):
     env.prepend('PATH', os.path.join(prereq_dir, 'bin', libdir))
     env.prepend('LD_LIBRARY_PATH', os.path.join(prereq_dir, 'lib', libdir))
 
+def set_env(env, prereq_dir, version):
+  env.add_comment("Here you can define your license parameters for MeshGems")
+  if LooseVersion(version) > LooseVersion('2.12-1'):
+    set_DASSAULT_license(env,version)
+  else:
+    env.add_comment("DISTENE license")
+    if not env.forBuild:
+      # we don't need licence keys at compile time
+      set_distene_licence(env)
+  set_env_build(env, prereq_dir, version)
+  #
+  Mmp = list(map(str, version.replace('-','.').split('.')))
+  M,m=Mmp[0:2]
+  if len(Mmp) > 2:
+    p=Mmp[2]
+  else:
+    p='0'
+  env.set('MESHGEMS_VERSION', version)
+  env.set('MESHGEMS_VERSION_MAJOR',M)
+  env.set('MESHGEMS_VERSION_MINOR',m)
+  env.set('MESHGEMS_VERSION_PATCH',p)
+
 def set_nativ_env(env):
   pass