Salome HOME
b2f86dafb4875284eef5cc9a4201397977b7356c
[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   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   SALOME_NamingService_Wrapper.hxx
151   )
152
153 # --- sources ---
154
155 SET(YACSRuntimeSALOME_SOURCES
156   TypeConversions.cxx            
157   CORBACORBAConv.cxx             
158   CORBAPythonConv.cxx            
159   CORBAXMLConv.cxx               
160   CORBANeutralConv.cxx           
161   XMLCORBAConv.cxx               
162   XMLPythonConv.cxx              
163   XMLNeutralConv.cxx             
164   CORBANode.cxx                  
165   CORBAPorts.cxx                 
166   CppNode.cxx                    
167   CppPorts.cxx                   
168   NeutralPythonConv.cxx          
169   NeutralCORBAConv.cxx           
170   NeutralXMLConv.cxx             
171   NeutralInitConv.cxx            
172   PythonCORBAConv.cxx            
173   PythonNeutralConv.cxx          
174   PythonXMLConv.cxx              
175   PythonInitConv.cxx             
176   PythonNode.cxx                 
177   SalomePythonNode.cxx           
178   DistributedPythonNode.cxx      
179   SalomePythonComponent.cxx      
180   SalomeContainer.cxx            
181   SalomeContainerTools.cxx
182   SalomeHPContainer.cxx
183   SalomeHPContainerTools.cxx
184   SalomeContainerHelper.cxx
185   SalomeContainerTmpForHP.cxx
186   PythonPorts.cxx                
187   XMLNode.cxx                    
188   XMLPorts.cxx                   
189   RuntimeSALOME.cxx              
190   SALOMEDispatcher.cxx           
191   SalomeProc.cxx                 
192   CalStreamPort.cxx              
193   CORBAComponent.cxx             
194   SalomeComponent.cxx   
195   SalomeHPComponent.cxx         
196   CppComponent.cxx               
197   CppContainer.cxx               
198   CppCORBAConv.cxx               
199   CppNeutralConv.cxx             
200   CppXMLConv.cxx                 
201   CppCppConv.cxx                 
202   CppPythonConv.cxx              
203   CORBACppConv.cxx               
204   NeutralCppConv.cxx             
205   XMLCppConv.cxx                 
206   PythonCppConv.cxx              
207   SessionCataLoader.cxx          
208   PresetPorts.cxx                
209   PresetNode.cxx                 
210   OutNode.cxx                    
211   StudyNodes.cxx                 
212   StudyPorts.cxx                 
213   VisitorSaveSalomeSchema.cxx    
214   PyStdout.cxx                   
215   SalomeOptimizerLoop.cxx        
216   PyOptimizerAlg.cxx             
217   VisitorSalomeSaveState.cxx
218   SALOME_NamingService_Wrapper.cxx
219   )
220
221 # --- rules ---
222
223 ADD_LIBRARY(YACSRuntimeSALOME ${YACSRuntimeSALOME_SOURCES})
224 TARGET_LINK_LIBRARIES(YACSRuntimeSALOME ${_link_LIBRARIES})
225 INSTALL(TARGETS YACSRuntimeSALOME EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
226
227 INSTALL(FILES ${YACSRuntimeSALOME_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})