Salome HOME
Copyright update 2022
[tools/yacsgen.git] / module_generator / salomemodules.py
1 # Copyright (C) 2009-2022  EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 #######################################################################
21 #         SALOME modules                                              #
22 #######################################################################
23 salome_modules={}
24
25 def add_module(module,idldefs="",linklibs=""):
26   """ add a module configuration for other module than KERNEL
27
28        :param module: module name (GEOM, SMESH, VISU, ...)
29        :type module: string
30        :param idldefs:  definition instructions to add to idl files when using this module
31        :type idldefs: string
32        :param linklibs:  options to add to _link_LIBRARIES in CMakeLists
33        :type linklibs: string
34   """
35   salome_modules[module]={"idldefs" : idldefs, "linklibs" : linklibs}
36
37 #module GEOM
38 idldefs="""
39 #include "GEOM_Gen.idl"
40 """
41
42 linklibs="""  ${GEOM_SalomeIDLGEOM}
43 """
44 add_module("GEOM",idldefs,linklibs)
45
46 #module MED
47 idldefs="""
48 #include "MEDCouplingCorbaServant.idl"
49 """
50
51 linklibs="""
52   ${FIELDS_SalomeIDLMED}
53   ${FIELDS_medcouplingcorba}
54   ${FIELDS_medcouplingclient}
55 """
56 salome_modules["MED"]={"idldefs" : idldefs, "linklibs" : linklibs}
57
58 #module SMESH
59 idldefs="""
60 #include "SMESH_Gen.idl"
61 #include "SMESH_Mesh.idl"
62 """
63
64 linklibs="""  ${SMESH_SalomeIDLSMESH}
65 """
66 salome_modules["SMESH"]={"idldefs" : idldefs, "linklibs" : linklibs,
67                          "depends":["GEOM","MED"]}