Salome HOME
c0e74f647788925c391c9b40eb486f02b9da7400
[modules/yacs.git] / src / runtime / CMakeLists.txt
1 # Copyright (C) 2012-2021  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   CalStreamPort.hxx
88   CORBAComponent.hxx
89   CORBACORBAConv.hxx
90   CORBACppConv.hxx
91   CORBANeutralConv.hxx
92   CORBANode.hxx
93   CORBAPorts.hxx
94   CORBAPythonConv.hxx
95   CORBAXMLConv.hxx
96   CppComponent.hxx
97   CppContainer.hxx
98   CppCORBAConv.hxx
99   CppCppConv.hxx
100   CppNeutralConv.hxx
101   CppNode.hxx
102   CppPorts.hxx
103   CppPythonConv.hxx
104   CppXMLConv.hxx
105   NeutralCORBAConv.hxx
106   NeutralCppConv.hxx 
107   NeutralPythonConv.hxx
108   NeutralXMLConv.hxx
109   OutNode.hxx
110   PresetNode.hxx 
111   PresetPorts.hxx
112   PyStdout.hxx
113   PythonCORBAConv.hxx
114   PythonCppConv.hxx 
115   PythonNeutralConv.hxx
116   PythonNode.hxx
117   PythonPorts.hxx
118   PythonXMLConv.hxx 
119   RuntimeSALOME.hxx
120   SalomeComponent.hxx
121   SalomeHPComponent.hxx
122   SalomeContainer.hxx
123   SalomeContainerTools.hxx
124   SalomeContainerHelper.hxx
125   SalomeContainerTmpForHP.hxx
126   SalomeHPContainer.hxx
127   SalomeHPContainerTools.hxx
128   SALOMEDispatcher.hxx
129   SalomeProc.hxx
130   SalomePythonComponent.hxx
131   SalomePythonNode.hxx 
132   SessionCataLoader.hxx
133   StudyNodes.hxx
134   StudyPorts.hxx
135   TypeConversions.hxx 
136   VisitorSaveSalomeSchema.hxx
137   XMLCORBAConv.hxx
138   XMLCppConv.hxx
139   XMLNeutralConv.hxx 
140   XMLNode.hxx
141   XMLPorts.hxx
142   XMLPythonConv.hxx
143   PythonInitConv.hxx 
144   NeutralInitConv.hxx
145   SalomeOptimizerLoop.hxx
146   DistributedPythonNode.hxx
147   PyOptimizerAlg.hxx
148   VisitorSalomeSaveState.hxx
149   SALOME_NamingService_Wrapper.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   SALOME_NamingService_Wrapper.cxx
218   )
219
220 # --- rules ---
221
222 ADD_LIBRARY(YACSRuntimeSALOME ${YACSRuntimeSALOME_SOURCES})
223 TARGET_LINK_LIBRARIES(YACSRuntimeSALOME ${_link_LIBRARIES})
224 INSTALL(TARGETS YACSRuntimeSALOME EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
225
226 INSTALL(FILES ${YACSRuntimeSALOME_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})