Salome HOME
451934b0512aecdac6a4a10bd753934f9fd199da
[modules/yacs.git] / src / runtime / CMakeLists.txt
1 # Copyright (C) 2012-2014  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   CalStreamPort.hxx
86   CORBAComponent.hxx
87   CORBACORBAConv.hxx
88   CORBACppConv.hxx
89   CORBANeutralConv.hxx
90   CORBANode.hxx
91   CORBAPorts.hxx
92   CORBAPythonConv.hxx
93   CORBAXMLConv.hxx
94   CppComponent.hxx
95   CppContainer.hxx
96   CppCORBAConv.hxx
97   CppCppConv.hxx
98   CppNeutralConv.hxx
99   CppNode.hxx
100   CppPorts.hxx
101   CppPythonConv.hxx
102   CppXMLConv.hxx
103   NeutralCORBAConv.hxx
104   NeutralCppConv.hxx 
105   NeutralPythonConv.hxx
106   NeutralXMLConv.hxx
107   OutNode.hxx
108   PresetNode.hxx 
109   PresetPorts.hxx
110   PyStdout.hxx
111   PythonCORBAConv.hxx
112   PythonCppConv.hxx 
113   PythonNeutralConv.hxx
114   PythonNode.hxx
115   PythonPorts.hxx
116   PythonXMLConv.hxx 
117   RuntimeSALOME.hxx
118   SalomeComponent.hxx
119   SalomeContainer.hxx 
120   SALOMEDispatcher.hxx
121   SalomeProc.hxx
122   SalomePythonComponent.hxx
123   SalomePythonNode.hxx 
124   SessionCataLoader.hxx
125   StudyNodes.hxx
126   StudyPorts.hxx
127   TypeConversions.hxx 
128   VisitorSaveSalomeSchema.hxx
129   XMLCORBAConv.hxx
130   XMLCppConv.hxx
131   XMLNeutralConv.hxx 
132   XMLNode.hxx
133   XMLPorts.hxx
134   XMLPythonConv.hxx
135   PythonInitConv.hxx 
136   NeutralInitConv.hxx
137   SalomeOptimizerLoop.hxx
138   DistributedPythonNode.hxx
139   PyOptimizerAlg.hxx
140   )
141
142 # --- sources ---
143
144 SET(YACSRuntimeSALOME_SOURCES
145   TypeConversions.cxx            
146   CORBACORBAConv.cxx             
147   CORBAPythonConv.cxx            
148   CORBAXMLConv.cxx               
149   CORBANeutralConv.cxx           
150   XMLCORBAConv.cxx               
151   XMLPythonConv.cxx              
152   XMLNeutralConv.cxx             
153   CORBANode.cxx                  
154   CORBAPorts.cxx                 
155   CppNode.cxx                    
156   CppPorts.cxx                   
157   NeutralPythonConv.cxx          
158   NeutralCORBAConv.cxx           
159   NeutralXMLConv.cxx             
160   NeutralInitConv.cxx            
161   PythonCORBAConv.cxx            
162   PythonNeutralConv.cxx          
163   PythonXMLConv.cxx              
164   PythonInitConv.cxx             
165   PythonNode.cxx                 
166   SalomePythonNode.cxx           
167   DistributedPythonNode.cxx      
168   SalomePythonComponent.cxx      
169   SalomeContainer.cxx            
170   PythonPorts.cxx                
171   XMLNode.cxx                    
172   XMLPorts.cxx                   
173   RuntimeSALOME.cxx              
174   SALOMEDispatcher.cxx           
175   SalomeProc.cxx                 
176   CalStreamPort.cxx              
177   CORBAComponent.cxx             
178   SalomeComponent.cxx            
179   CppComponent.cxx               
180   CppContainer.cxx               
181   CppCORBAConv.cxx               
182   CppNeutralConv.cxx             
183   CppXMLConv.cxx                 
184   CppCppConv.cxx                 
185   CppPythonConv.cxx              
186   CORBACppConv.cxx               
187   NeutralCppConv.cxx             
188   XMLCppConv.cxx                 
189   PythonCppConv.cxx              
190   SessionCataLoader.cxx          
191   PresetPorts.cxx                
192   PresetNode.cxx                 
193   OutNode.cxx                    
194   StudyNodes.cxx                 
195   StudyPorts.cxx                 
196   VisitorSaveSalomeSchema.cxx    
197   PyStdout.cxx                   
198   SalomeOptimizerLoop.cxx        
199   PyOptimizerAlg.cxx             
200   )
201
202 # --- rules ---
203
204 ADD_LIBRARY(YACSRuntimeSALOME ${YACSRuntimeSALOME_SOURCES})
205 TARGET_LINK_LIBRARIES(YACSRuntimeSALOME ${_link_LIBRARIES})
206 INSTALL(TARGETS YACSRuntimeSALOME EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
207
208 INSTALL(FILES ${YACSRuntimeSALOME_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})