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