Salome HOME
[PYTHON 3] WIP
[modules/yacs.git] / src / runtime / CMakeLists.txt
1 # Copyright (C) 2012-2016  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   ${OMNIORBPY_INCLUDE_DIR}
54   ${SALOME_INCL_PATH}
55   ${PROJECT_SOURCE_DIR}/src/bases
56   ${PROJECT_SOURCE_DIR}/src/engine
57   ${PROJECT_SOURCE_DIR}/idl
58   ${PROJECT_SOURCE_DIR}
59   ${PROJECT_BINARY_DIR}
60   ${PROJECT_BINARY_DIR}/idl
61   ${LIBXML2_INCLUDE_DIR}
62   ${PYTHON_INCLUDE_DIR}
63   )
64
65 # additional preprocessor / compiler flags
66 ADD_DEFINITIONS(
67   ${PYTHON_DEFINITIONS}
68   ${OMNIORB_DEFINITIONS}
69   )
70
71 # libraries to link to
72 SET(_link_LIBRARIES
73   ${DSC_LIBS}
74   ${SALOME_LIBS}
75   ${OMNIORB_LIBRARIES}
76   ${PYTHON_LIBRARIES}
77   ${LIBXML2_LIBRARIES}
78   SalomeIDLYACS
79   YACSlibEngine
80   )
81
82 # --- headers ---
83
84 SET(YACSRuntimeSALOME_HEADERS
85   YACSRuntimeSALOMEExport.hxx 
86   AutoGIL.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   )
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   )
215
216 # --- rules ---
217
218 ADD_LIBRARY(YACSRuntimeSALOME ${YACSRuntimeSALOME_SOURCES})
219 TARGET_LINK_LIBRARIES(YACSRuntimeSALOME ${_link_LIBRARIES})
220 INSTALL(TARGETS YACSRuntimeSALOME EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
221
222 INSTALL(FILES ${YACSRuntimeSALOME_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})