Salome HOME
Copyright update 2020
[modules/yacs.git] / src / runtime / CMakeLists.txt
1 # Copyright (C) 2012-2020  CEA/DEN, 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 IF(SALOME_BUILD_TESTS)
21   ADD_SUBDIRECTORY(Test)
22 ENDIF(SALOME_BUILD_TESTS)
23
24 # --- options ---
25
26 IF(SALOME_YACS_USE_KERNEL)
27   SET(SALOME_LIBS 
28     SalomeLifeCycleCORBA 
29     SalomeIDLKernel 
30     SalomeNS
31     SalomeContainer 
32     SalomeKernelHelpers
33     SALOMEBasics 
34     SalomeResourcesManager 
35     OpUtil 
36     SALOMELocalTrace 
37     Registry 
38     SalomeNotification 
39     ResourcesManager 
40     SalomeHDFPersist 
41     SalomeGenericObj
42     )
43   SET(SALOME_INCL_PATH ${KERNEL_INCLUDE_DIRS})
44
45   IF(SALOME_YACS_USE_DSC)
46     SET(DSC_LIBS SalomeDSCContainer)
47   ENDIF(SALOME_YACS_USE_DSC)
48 ENDIF(SALOME_YACS_USE_KERNEL)
49
50 # additional include directories
51 INCLUDE_DIRECTORIES(
52   ${OMNIORB_INCLUDE_DIR}
53   ${OMNIORB_ROOT_DIR}/include/omniORB4/internal
54   ${OMNIORBPY_INCLUDE_DIR}
55   ${SALOME_INCL_PATH}
56   ${PROJECT_SOURCE_DIR}/src/bases
57   ${PROJECT_SOURCE_DIR}/src/engine
58   ${PROJECT_SOURCE_DIR}/idl
59   ${PROJECT_SOURCE_DIR}
60   ${PROJECT_BINARY_DIR}
61   ${PROJECT_BINARY_DIR}/idl
62   ${LIBXML2_INCLUDE_DIR}
63   ${PYTHON_INCLUDE_DIR}
64   )
65
66 # additional preprocessor / compiler flags
67 ADD_DEFINITIONS(
68   ${PYTHON_DEFINITIONS}
69   ${OMNIORB_DEFINITIONS}
70   )
71
72 # libraries to link to
73 SET(_link_LIBRARIES
74   ${DSC_LIBS}
75   ${SALOME_LIBS}
76   ${OMNIORB_LIBRARIES}
77   ${PYTHON_LIBRARIES}
78   ${LIBXML2_LIBRARIES}
79   SalomeIDLYACS
80   YACSlibEngine
81   )
82
83 # --- headers ---
84
85 SET(YACSRuntimeSALOME_HEADERS
86   YACSRuntimeSALOMEExport.hxx 
87   AutoGIL.hxx
88   CalStreamPort.hxx
89   CORBAComponent.hxx
90   CORBACORBAConv.hxx
91   CORBACppConv.hxx
92   CORBANeutralConv.hxx
93   CORBANode.hxx
94   CORBAPorts.hxx
95   CORBAPythonConv.hxx
96   CORBAXMLConv.hxx
97   CppComponent.hxx
98   CppContainer.hxx
99   CppCORBAConv.hxx
100   CppCppConv.hxx
101   CppNeutralConv.hxx
102   CppNode.hxx
103   CppPorts.hxx
104   CppPythonConv.hxx
105   CppXMLConv.hxx
106   NeutralCORBAConv.hxx
107   NeutralCppConv.hxx 
108   NeutralPythonConv.hxx
109   NeutralXMLConv.hxx
110   OutNode.hxx
111   PresetNode.hxx 
112   PresetPorts.hxx
113   PyStdout.hxx
114   PythonCORBAConv.hxx
115   PythonCppConv.hxx 
116   PythonNeutralConv.hxx
117   PythonNode.hxx
118   PythonPorts.hxx
119   PythonXMLConv.hxx 
120   RuntimeSALOME.hxx
121   SalomeComponent.hxx
122   SalomeHPComponent.hxx
123   SalomeContainer.hxx
124   SalomeContainerTools.hxx
125   SalomeContainerHelper.hxx
126   SalomeContainerTmpForHP.hxx
127   SalomeHPContainer.hxx
128   SalomeHPContainerTools.hxx
129   SALOMEDispatcher.hxx
130   SalomeProc.hxx
131   SalomePythonComponent.hxx
132   SalomePythonNode.hxx 
133   SessionCataLoader.hxx
134   StudyNodes.hxx
135   StudyPorts.hxx
136   TypeConversions.hxx 
137   VisitorSaveSalomeSchema.hxx
138   XMLCORBAConv.hxx
139   XMLCppConv.hxx
140   XMLNeutralConv.hxx 
141   XMLNode.hxx
142   XMLPorts.hxx
143   XMLPythonConv.hxx
144   PythonInitConv.hxx 
145   NeutralInitConv.hxx
146   SalomeOptimizerLoop.hxx
147   DistributedPythonNode.hxx
148   PyOptimizerAlg.hxx
149   VisitorSalomeSaveState.hxx
150   )
151
152 # --- sources ---
153
154 SET(YACSRuntimeSALOME_SOURCES
155   TypeConversions.cxx            
156   CORBACORBAConv.cxx             
157   CORBAPythonConv.cxx            
158   CORBAXMLConv.cxx               
159   CORBANeutralConv.cxx           
160   XMLCORBAConv.cxx               
161   XMLPythonConv.cxx              
162   XMLNeutralConv.cxx             
163   CORBANode.cxx                  
164   CORBAPorts.cxx                 
165   CppNode.cxx                    
166   CppPorts.cxx                   
167   NeutralPythonConv.cxx          
168   NeutralCORBAConv.cxx           
169   NeutralXMLConv.cxx             
170   NeutralInitConv.cxx            
171   PythonCORBAConv.cxx            
172   PythonNeutralConv.cxx          
173   PythonXMLConv.cxx              
174   PythonInitConv.cxx             
175   PythonNode.cxx                 
176   SalomePythonNode.cxx           
177   DistributedPythonNode.cxx      
178   SalomePythonComponent.cxx      
179   SalomeContainer.cxx            
180   SalomeContainerTools.cxx
181   SalomeHPContainer.cxx
182   SalomeHPContainerTools.cxx
183   SalomeContainerHelper.cxx
184   SalomeContainerTmpForHP.cxx
185   PythonPorts.cxx                
186   XMLNode.cxx                    
187   XMLPorts.cxx                   
188   RuntimeSALOME.cxx              
189   SALOMEDispatcher.cxx           
190   SalomeProc.cxx                 
191   CalStreamPort.cxx              
192   CORBAComponent.cxx             
193   SalomeComponent.cxx   
194   SalomeHPComponent.cxx         
195   CppComponent.cxx               
196   CppContainer.cxx               
197   CppCORBAConv.cxx               
198   CppNeutralConv.cxx             
199   CppXMLConv.cxx                 
200   CppCppConv.cxx                 
201   CppPythonConv.cxx              
202   CORBACppConv.cxx               
203   NeutralCppConv.cxx             
204   XMLCppConv.cxx                 
205   PythonCppConv.cxx              
206   SessionCataLoader.cxx          
207   PresetPorts.cxx                
208   PresetNode.cxx                 
209   OutNode.cxx                    
210   StudyNodes.cxx                 
211   StudyPorts.cxx                 
212   VisitorSaveSalomeSchema.cxx    
213   PyStdout.cxx                   
214   SalomeOptimizerLoop.cxx        
215   PyOptimizerAlg.cxx             
216   VisitorSalomeSaveState.cxx
217   )
218
219 # --- rules ---
220
221 ADD_LIBRARY(YACSRuntimeSALOME ${YACSRuntimeSALOME_SOURCES})
222 TARGET_LINK_LIBRARIES(YACSRuntimeSALOME ${_link_LIBRARIES})
223 INSTALL(TARGETS YACSRuntimeSALOME EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
224
225 INSTALL(FILES ${YACSRuntimeSALOME_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})