]> SALOME platform Git repositories - modules/kernel.git/blob - src/SALOMEDS/CMakeLists.txt
Salome HOME
Merge from V6_main 13/12/2012
[modules/kernel.git] / src / SALOMEDS / CMakeLists.txt
1 # Copyright (C) 2012  CEA/DEN, EDF R&D, OPEN CASCADE
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.
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 INCLUDE_DIRECTORIES(
21   ${PTHREAD_INCLUDE_DIRS}
22   ${OMNIORB_INCLUDE_DIRS}
23   ${HDF5_INCLUDE_DIRS}
24   ${BOOST_INCLUDE_DIRS}
25   ${CMAKE_BINARY_DIR}/salome_adm
26   ${CMAKE_CURRENT_SOURCE_DIR}/../HDFPersist
27   ${CMAKE_CURRENT_SOURCE_DIR}/../Basics
28   ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMELocalTrace
29   ${CMAKE_CURRENT_SOURCE_DIR}/../Utils
30   ${CMAKE_CURRENT_SOURCE_DIR}/../DF
31   ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMEDSImpl
32   ${CMAKE_CURRENT_SOURCE_DIR}/../NamingService
33   ${CMAKE_CURRENT_SOURCE_DIR}/../GenericObj
34   ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMEDSClient
35   ${CMAKE_CURRENT_SOURCE_DIR}/../LifeCycleCORBA
36   ${CMAKE_BINARY_DIR}/idl
37 )
38
39 SET(COMMON_FLAGS "${OMNIORB_DEFINITIONS} ${HDF5_DEFINITIONS} ${BOOST_DEFINITIONS} ${PLATFORM_DEFINITIONS}")
40 SET(COMMON_LIBS
41   TOOLSDS
42   SalomeNS
43   OpUtil
44   SALOMELocalTrace
45   SALOMEBasics
46   SalomeHDFPersist
47   DF
48   SalomeDSImpl
49   SalomeGenericObj
50   SalomeLifeCycleCORBA
51   SalomeIDLKernel
52   ${HDF5_LIBS}
53 )
54
55 SET(SalomeDS_SOURCES
56   SALOMEDS.cxx
57   SALOMEDS_Driver_i.cxx
58   SALOMEDS_StudyManager_i.cxx
59   SALOMEDS_UseCaseBuilder_i.cxx
60   SALOMEDS_UseCaseIterator_i.cxx
61   SALOMEDS_ChildIterator_i.cxx
62   SALOMEDS_SComponentIterator_i.cxx
63   SALOMEDS_Study_i.cxx
64   SALOMEDS_StudyBuilder_i.cxx
65   SALOMEDS_SObject_i.cxx
66   SALOMEDS_SComponent_i.cxx
67   SALOMEDS_GenericAttribute_i.cxx
68   SALOMEDS_AttributeComment_i.cxx
69   SALOMEDS_AttributeExternalFileDef_i.cxx
70   SALOMEDS_AttributeFileType_i.cxx
71   SALOMEDS_AttributeIOR_i.cxx
72   SALOMEDS_AttributeInteger_i.cxx
73   SALOMEDS_AttributeName_i.cxx
74   SALOMEDS_AttributePersistentRef_i.cxx
75   SALOMEDS_AttributeReal_i.cxx
76   SALOMEDS_AttributeSequenceOfReal_i.cxx
77   SALOMEDS_AttributeSequenceOfInteger_i.cxx
78   SALOMEDS_AttributeDrawable_i.cxx
79   SALOMEDS_AttributeSelectable_i.cxx
80   SALOMEDS_AttributeOpened_i.cxx
81   SALOMEDS_AttributeFlags_i.cxx
82   SALOMEDS_AttributeGraphic_i.cxx
83   SALOMEDS_AttributeExpandable_i.cxx
84   SALOMEDS_AttributeTextColor_i.cxx
85   SALOMEDS_AttributeTextHighlightColor_i.cxx
86   SALOMEDS_AttributePixMap_i.cxx
87   SALOMEDS_AttributeTreeNode_i.cxx
88   SALOMEDS_AttributeLocalID_i.cxx
89   SALOMEDS_AttributeUserID_i.cxx
90   SALOMEDS_AttributeTarget_i.cxx
91   SALOMEDS_AttributeTableOfInteger_i.cxx
92   SALOMEDS_AttributeTableOfReal_i.cxx
93   SALOMEDS_AttributeTableOfString_i.cxx
94   SALOMEDS_AttributeStudyProperties_i.cxx
95   SALOMEDS_AttributePythonObject_i.cxx
96   SALOMEDS_AttributeParameter_i.cxx
97   SALOMEDS_AttributeString_i.cxx
98   SALOMEDS_SObject.cxx
99   SALOMEDS_SComponent.cxx
100   SALOMEDS_GenericAttribute.cxx
101   SALOMEDS_ChildIterator.cxx
102   SALOMEDS_SComponentIterator.cxx
103   SALOMEDS_UseCaseIterator.cxx
104   SALOMEDS_UseCaseBuilder.cxx
105   SALOMEDS_StudyBuilder.cxx
106   SALOMEDS_Study.cxx
107   SALOMEDS_StudyManager.cxx
108   SALOMEDS_AttributeStudyProperties.cxx
109   SALOMEDS_AttributeComment.cxx
110   SALOMEDS_AttributeDrawable.cxx
111   SALOMEDS_AttributeExpandable.cxx
112   SALOMEDS_AttributeExternalFileDef.cxx
113   SALOMEDS_AttributeFileType.cxx
114   SALOMEDS_AttributeFlags.cxx
115   SALOMEDS_AttributeGraphic.cxx
116   SALOMEDS_AttributeIOR.cxx
117   SALOMEDS_AttributeInteger.cxx
118   SALOMEDS_AttributeLocalID.cxx
119   SALOMEDS_AttributeName.cxx
120   SALOMEDS_AttributeOpened.cxx
121   SALOMEDS_AttributePythonObject.cxx
122   SALOMEDS_AttributeReal.cxx
123   SALOMEDS_AttributeSelectable.cxx
124   SALOMEDS_AttributeSequenceOfInteger.cxx
125   SALOMEDS_AttributePersistentRef.cxx
126   SALOMEDS_AttributePixMap.cxx
127   SALOMEDS_AttributeSequenceOfReal.cxx
128   SALOMEDS_AttributeTableOfInteger.cxx
129   SALOMEDS_AttributeTableOfReal.cxx
130   SALOMEDS_AttributeTableOfString.cxx
131   SALOMEDS_AttributeTarget.cxx
132   SALOMEDS_AttributeTextColor.cxx
133   SALOMEDS_AttributeTextHighlightColor.cxx
134   SALOMEDS_AttributeTreeNode.cxx
135   SALOMEDS_AttributeUserID.cxx
136   SALOMEDS_TMPFile_i.cxx
137   SALOMEDS_AttributeParameter.cxx
138   SALOMEDS_AttributeString.cxx
139   SALOMEDS_IParameters.cxx
140   SALOMEDS_AttLong_i.hxx
141   SALOMEDS_AttReal_i.hxx
142   SALOMEDS_AttributeComment.hxx
143   SALOMEDS_AttributeComment_i.hxx
144   SALOMEDS_AttributeDrawable.hxx
145   SALOMEDS_AttributeDrawable_i.hxx
146   SALOMEDS_AttributeExpandable.hxx
147   SALOMEDS_AttributeExpandable_i.hxx
148   SALOMEDS_AttributeExternalFileDef.hxx
149   SALOMEDS_AttributeExternalFileDef_i.hxx
150   SALOMEDS_AttributeFileType.hxx
151   SALOMEDS_AttributeFileType_i.hxx
152   SALOMEDS_AttributeFlags.hxx
153   SALOMEDS_AttributeFlags_i.hxx
154   SALOMEDS_AttributeGraphic.hxx
155   SALOMEDS_AttributeGraphic_i.hxx
156   SALOMEDS_AttributeInteger.hxx
157   SALOMEDS_AttributeInteger_i.hxx
158   SALOMEDS_AttributeIOR.hxx
159   SALOMEDS_AttributeIOR_i.hxx
160   SALOMEDS_AttributeLocalID.hxx
161   SALOMEDS_AttributeLocalID_i.hxx
162   SALOMEDS_AttributeName.hxx
163   SALOMEDS_AttributeName_i.hxx
164   SALOMEDS_AttributeOpened.hxx
165   SALOMEDS_AttributeOpened_i.hxx
166   SALOMEDS_AttributePersistentRef.hxx
167   SALOMEDS_AttributePersistentRef_i.hxx
168   SALOMEDS_AttributePixMap.hxx
169   SALOMEDS_AttributePixMap_i.hxx
170   SALOMEDS_AttributePythonObject.hxx
171   SALOMEDS_AttributePythonObject_i.hxx
172   SALOMEDS_AttributeReal.hxx
173   SALOMEDS_AttributeReal_i.hxx
174   SALOMEDS_AttributeSelectable.hxx
175   SALOMEDS_AttributeSelectable_i.hxx
176   SALOMEDS_AttributeSequenceOfInteger.hxx
177   SALOMEDS_AttributeSequenceOfInteger_i.hxx
178   SALOMEDS_AttributeSequenceOfReal.hxx
179   SALOMEDS_AttributeSequenceOfReal_i.hxx
180   SALOMEDS_Attributes.hxx
181   SALOMEDS_AttributeStudyProperties.hxx
182   SALOMEDS_AttributeStudyProperties_i.hxx
183   SALOMEDS_AttributeTableOfInteger.hxx
184   SALOMEDS_AttributeTableOfInteger_i.hxx
185   SALOMEDS_AttributeTableOfReal.hxx
186   SALOMEDS_AttributeTableOfReal_i.hxx
187   SALOMEDS_AttributeTableOfString.hxx
188   SALOMEDS_AttributeTableOfString_i.hxx
189   SALOMEDS_AttributeTarget.hxx
190   SALOMEDS_AttributeTarget_i.hxx
191   SALOMEDS_AttributeTextColor.hxx
192   SALOMEDS_AttributeTextColor_i.hxx
193   SALOMEDS_AttributeTextHighlightColor.hxx
194   SALOMEDS_AttributeTextHighlightColor_i.hxx
195   SALOMEDS_AttributeTreeNode.hxx
196   SALOMEDS_AttributeTreeNode_i.hxx
197   SALOMEDS_AttributeUserID.hxx
198   SALOMEDS_AttributeUserID_i.hxx
199   SALOMEDS_BasicAttributeFactory.hxx
200   SALOMEDS_BasicAttribute_i.hxx
201   SALOMEDS_Callback_i.hxx
202   SALOMEDS_ChildIterator.hxx
203   SALOMEDS_ChildIterator_i.hxx
204   SALOMEDS_ClientAttributes.hxx
205   SALOMEDS_Driver_i.hxx
206   SALOMEDS_GenericAttribute.hxx
207   SALOMEDS_GenericAttribute_i.hxx
208   SALOMEDS.hxx
209   SALOMEDS_SComponent.hxx
210   SALOMEDS_SComponent_i.hxx
211   SALOMEDS_SComponentIterator.hxx
212   SALOMEDS_SComponentIterator_i.hxx
213   SALOMEDS_SObject.hxx
214   SALOMEDS_SObject_i.hxx
215   SALOMEDS_StudyBuilder.hxx
216   SALOMEDS_StudyBuilder_i.hxx
217   SALOMEDS_Study.hxx
218   SALOMEDS_Study_i.hxx
219   SALOMEDS_StudyManager.hxx
220   SALOMEDS_StudyManager_i.hxx
221   SALOMEDS_UseCaseBuilder.hxx
222   SALOMEDS_UseCaseBuilder_i.hxx
223   SALOMEDS_UseCaseIterator.hxx
224   SALOMEDS_UseCaseIterator_i.hxx
225   SALOMEDS_AttributeParameter.hxx
226   SALOMEDS_AttributeParameter_i.hxx
227   SALOMEDS_AttributeString.hxx
228   SALOMEDS_AttributeString_i.hxx
229   SALOMEDS_TMPFile_i.hxx
230 )
231
232 IF(WINDOWS)
233   SET(COMMON_FLAGS "${COMMON_FLAGS} -DNOGDI")
234 ENDIF(WINDOWS)
235
236 ADD_LIBRARY(SalomeDS SHARED ${SalomeDS_SOURCES})
237 SET_TARGET_PROPERTIES(SalomeDS PROPERTIES COMPILE_FLAGS "${COMMON_FLAGS}")
238 TARGET_LINK_LIBRARIES(SalomeDS ${COMMON_LIBS})
239 INSTALL(TARGETS SalomeDS DESTINATION ${KERNEL_salomelib_LIBS})
240
241 ADD_EXECUTABLE(SALOMEDS_Server SALOMEDS_Server.cxx)
242 SET_TARGET_PROPERTIES(SALOMEDS_Server PROPERTIES COMPILE_FLAGS "${COMMON_FLAGS}")
243 TARGET_LINK_LIBRARIES(SALOMEDS_Server SalomeDS SALOMEBasics ${COMMON_LIBS} ${OMNIORB_LIBS})
244
245 ADD_EXECUTABLE(SALOMEDS_Client SALOMEDS_Client.cxx)
246 SET_TARGET_PROPERTIES(SALOMEDS_Client PROPERTIES COMPILE_FLAGS "${COMMON_FLAGS}")
247 TARGET_LINK_LIBRARIES(SALOMEDS_Client SalomeDS SALOMEBasics ${COMMON_LIBS} ${OMNIORB_LIBS})
248
249 INSTALL(TARGETS SALOMEDS_Server SALOMEDS_Client DESTINATION ${KERNEL_salomebin_BINS})
250
251 # Executable scripts to be installed
252 SALOME_INSTALL_SCRIPTS(SALOME_DriverPy.py ${KERNEL_salomescript_PYTHON})
253
254 SET(COMMON_HEADERS_HXX 
255   SALOMEDS_StudyManager_i.hxx
256   SALOMEDS_Driver_i.hxx
257   SALOMEDS_StudyManager.hxx
258   SALOMEDS_Study_i.hxx
259   SALOMEDS_Study.hxx
260   SALOMEDS_SObject_i.hxx
261   SALOMEDS_SObject.hxx
262   SALOMEDS_SComponent_i.hxx
263   SALOMEDS_SComponent.hxx
264   SALOMEDS_GenericAttribute_i.hxx
265   SALOMEDS_GenericAttribute.hxx
266   SALOMEDS_IParameters.hxx
267   SALOMEDS_Defines.hxx
268 )
269 INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS})