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