Salome HOME
[bos #32522][EDF] SALOME on Demand. Added unified check if an extension installed...
[modules/kernel.git] / bin / SalomeOnDemandTK / Base_env.py
1 #!/usr/bin/env python3
2 # -*- coding:utf-8 -*-
3
4 """
5 Add a custom environment to the SALOME extension.
6 """
7
8 import os
9
10
11 def init(context, root_dir):
12     """
13     Set an environment for an extension on start of SALOME app.
14
15     Args:
16         context - an SalomeContext object.
17         root_dir - a path to __SALOME_EXT__ directory.
18
19     Returns:
20         None.
21     """
22
23     python_version = '3.10'
24     python_libdir = os.path.join('lib', 'python' + python_version, 'site-packages')
25
26     reinitialise_paths = True
27
28     #[KERNEL]
29     kernel_root_dir = os.path.join(root_dir, 'KERNEL')
30     context.setVariable('KERNEL_ROOT_DIR', kernel_root_dir, overwrite=True)
31     context.addToPath(os.path.join(kernel_root_dir, 'bin', 'salome'))
32     context.addToLdLibraryPath(os.path.join(kernel_root_dir, 'lib', 'salome'))
33     context.addToPythonPath(os.path.join(kernel_root_dir, 'bin', 'salome'))
34     context.addToPythonPath(os.path.join(kernel_root_dir, 'lib', 'salome'))
35     context.addToPythonPath(os.path.join(kernel_root_dir, python_libdir, 'salome'))
36
37     #[GUI]
38     gui_root_dir = os.path.join(root_dir, 'GUI')
39     context.setVariable('GUI_ROOT_DIR', gui_root_dir, overwrite=True)
40     context.addToPath(os.path.join(gui_root_dir, 'bin', 'salome'))
41     context.addToLdLibraryPath(os.path.join(gui_root_dir, 'lib', 'salome'))
42     context.addToPythonPath(os.path.join(gui_root_dir, 'bin', 'salome'))
43     context.addToPythonPath(os.path.join(gui_root_dir, 'lib', 'salome'))
44     context.addToPythonPath(os.path.join(gui_root_dir, python_libdir, 'salome'))
45
46     gui_res_dir = os.path.join(gui_root_dir, 'share', 'salome', 'resources', 'gui')
47     if reinitialise_paths:
48         context.setVariable('SalomeAppConfig', gui_res_dir, overwrite=True)
49     else:
50         context.addToVariable('SalomeAppConfig', gui_res_dir, separator=':')