Salome HOME
updated copyright message
[modules/kernel.git] / src / SALOMEDS / CMakeLists.txt
1 # Copyright (C) 2012-2023  CEA, EDF, 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, 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 include(${SWIG_USE_FILE})
21
22 INCLUDE_DIRECTORIES(
23   ${PTHREAD_INCLUDE_DIR}
24   ${OMNIORB_INCLUDE_DIR}
25   ${HDF5_INCLUDE_DIRS}
26   ${Boost_INCLUDE_DIRS}
27   ${PYTHON_INCLUDE_DIRS}
28   ${PROJECT_BINARY_DIR}/salome_adm
29   ${CMAKE_CURRENT_SOURCE_DIR}/../HDFPersist
30   ${CMAKE_CURRENT_SOURCE_DIR}/../ArgvKeeper
31   ${CMAKE_CURRENT_SOURCE_DIR}/../Basics
32   ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMELocalTrace
33   ${CMAKE_CURRENT_SOURCE_DIR}/../KernelHelpers
34   ${CMAKE_CURRENT_SOURCE_DIR}/../Utils
35   ${CMAKE_CURRENT_SOURCE_DIR}/../DF
36   ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMEDSImpl
37   ${CMAKE_CURRENT_SOURCE_DIR}/../NamingService
38   ${CMAKE_CURRENT_SOURCE_DIR}/../GenericObj
39   ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMEDSClient
40   ${CMAKE_CURRENT_SOURCE_DIR}/../LifeCycleCORBA
41   ${CMAKE_CURRENT_SOURCE_DIR}/../TOOLSDS
42   ${CMAKE_CURRENT_SOURCE_DIR}/../Container
43   ${CMAKE_CURRENT_SOURCE_DIR}
44   ${PROJECT_BINARY_DIR}/idl
45 )
46
47 ADD_DEFINITIONS(${OMNIORB_DEFINITIONS} ${HDF5_DEFINITIONS} ${BOOST_DEFINITIONS})
48 IF(WIN32)
49   ADD_DEFINITIONS(-DNOGDI)
50 ENDIF(WIN32)
51
52 SET(COMMON_LIBS
53   ArgvKeeper
54   TOOLSDS
55   SalomeNS
56   OpUtil
57   SALOMELocalTrace
58   SALOMEBasics
59   SalomeHDFPersist
60   SalomeKernelHelpers
61   DF
62   SalomeDSImpl
63   SalomeGenericObj
64   SalomeLifeCycleCORBA
65   SalomeIDLKernel
66   SalomeDSClient
67   ${HDF5_C_LIBRARIES}
68 )
69
70 SET(SalomeDS_SOURCES
71   SALOMEDS.cxx
72   SALOMEDS_Driver_i.cxx
73   SALOMEDS_UseCaseBuilder_i.cxx
74   SALOMEDS_UseCaseIterator_i.cxx
75   SALOMEDS_ChildIterator_i.cxx
76   SALOMEDS_SComponentIterator_i.cxx
77   SALOMEDS_Study_i.cxx
78   SALOMEDS_StudyBuilder_i.cxx
79   SALOMEDS_SObject_i.cxx
80   SALOMEDS_SComponent_i.cxx
81   SALOMEDS_GenericAttribute_i.cxx
82   SALOMEDS_AttributeComment_i.cxx
83   SALOMEDS_AttributeExternalFileDef_i.cxx
84   SALOMEDS_AttributeFileType_i.cxx
85   SALOMEDS_AttributeIOR_i.cxx
86   SALOMEDS_AttributeInteger_i.cxx
87   SALOMEDS_AttributeName_i.cxx
88   SALOMEDS_AttributePersistentRef_i.cxx
89   SALOMEDS_AttributeReal_i.cxx
90   SALOMEDS_AttributeSequenceOfReal_i.cxx
91   SALOMEDS_AttributeSequenceOfInteger_i.cxx
92   SALOMEDS_AttributeDrawable_i.cxx
93   SALOMEDS_AttributeSelectable_i.cxx
94   SALOMEDS_AttributeOpened_i.cxx
95   SALOMEDS_AttributeFlags_i.cxx
96   SALOMEDS_AttributeGraphic_i.cxx
97   SALOMEDS_AttributeExpandable_i.cxx
98   SALOMEDS_AttributeTextColor_i.cxx
99   SALOMEDS_AttributeTextHighlightColor_i.cxx
100   SALOMEDS_AttributePixMap_i.cxx
101   SALOMEDS_AttributeTreeNode_i.cxx
102   SALOMEDS_AttributeLocalID_i.cxx
103   SALOMEDS_AttributeUserID_i.cxx
104   SALOMEDS_AttributeTarget_i.cxx
105   SALOMEDS_AttributeTableOfInteger_i.cxx
106   SALOMEDS_AttributeTableOfReal_i.cxx
107   SALOMEDS_AttributeTableOfString_i.cxx
108   SALOMEDS_AttributeStudyProperties_i.cxx
109   SALOMEDS_AttributePythonObject_i.cxx
110   SALOMEDS_AttributeParameter_i.cxx
111   SALOMEDS_AttributeString_i.cxx
112   SALOMEDS_SObject.cxx
113   SALOMEDS_SComponent.cxx
114   SALOMEDS_GenericAttribute.cxx
115   SALOMEDS_ChildIterator.cxx
116   SALOMEDS_SComponentIterator.cxx
117   SALOMEDS_UseCaseIterator.cxx
118   SALOMEDS_UseCaseBuilder.cxx
119   SALOMEDS_StudyBuilder.cxx
120   SALOMEDS_Study.cxx
121   SALOMEDS_AttributeStudyProperties.cxx
122   SALOMEDS_AttributeComment.cxx
123   SALOMEDS_AttributeDrawable.cxx
124   SALOMEDS_AttributeExpandable.cxx
125   SALOMEDS_AttributeExternalFileDef.cxx
126   SALOMEDS_AttributeFileType.cxx
127   SALOMEDS_AttributeFlags.cxx
128   SALOMEDS_AttributeGraphic.cxx
129   SALOMEDS_AttributeIOR.cxx
130   SALOMEDS_AttributeInteger.cxx
131   SALOMEDS_AttributeLocalID.cxx
132   SALOMEDS_AttributeName.cxx
133   SALOMEDS_AttributeOpened.cxx
134   SALOMEDS_AttributePythonObject.cxx
135   SALOMEDS_AttributeReal.cxx
136   SALOMEDS_AttributeSelectable.cxx
137   SALOMEDS_AttributeSequenceOfInteger.cxx
138   SALOMEDS_AttributePersistentRef.cxx
139   SALOMEDS_AttributePixMap.cxx
140   SALOMEDS_AttributeSequenceOfReal.cxx
141   SALOMEDS_AttributeTableOfInteger.cxx
142   SALOMEDS_AttributeTableOfReal.cxx
143   SALOMEDS_AttributeTableOfString.cxx
144   SALOMEDS_AttributeTarget.cxx
145   SALOMEDS_AttributeTextColor.cxx
146   SALOMEDS_AttributeTextHighlightColor.cxx
147   SALOMEDS_AttributeTreeNode.cxx
148   SALOMEDS_AttributeUserID.cxx
149   SALOMEDS_TMPFile_i.cxx
150   SALOMEDS_AttributeParameter.cxx
151   SALOMEDS_AttributeString.cxx
152   SALOMEDS_IParameters.cxx
153 )
154
155
156 ADD_LIBRARY(SalomeDS ${SalomeDS_SOURCES})
157 TARGET_LINK_LIBRARIES(SalomeDS ${COMMON_LIBS})
158 INSTALL(TARGETS SalomeDS EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
159
160 ADD_EXECUTABLE(SALOMEDS_Server SALOMEDS_Server.cxx)
161 TARGET_LINK_LIBRARIES(SALOMEDS_Server SalomeDS SALOMEBasics ${COMMON_LIBS} ${OMNIORB_LIBRARIES})
162
163 ADD_EXECUTABLE(SALOMEDS_Client SALOMEDS_Client.cxx)
164 TARGET_LINK_LIBRARIES(SALOMEDS_Client SalomeDS SALOMEBasics ${COMMON_LIBS} ${OMNIORB_LIBRARIES})
165
166 SET(KernelDS_HEADERS KernelDS.hxx KernelDS.i)
167 SET(KernelDS_SOURCES KernelDS.cxx ${KernelDS_HEADERS})
168 SET_SOURCE_FILES_PROPERTIES(KernelDS.i PROPERTIES CPLUSPLUS ON)
169 SET_SOURCE_FILES_PROPERTIES(KernelDS.i PROPERTIES SWIG_FLAGS "-py3")
170 SET_SOURCE_FILES_PROPERTIES(KernelDS_wrap.cpp PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H")
171 SET(_swig_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/KernelDS.py )
172 IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") 
173   SWIG_ADD_MODULE(KernelDS python ${KernelDS_SOURCES})
174 ELSE()
175   SWIG_ADD_LIBRARY(KernelDS LANGUAGE python SOURCES ${KernelDS_SOURCES})
176 ENDIF()
177 IF(${MACHINE} STREQUAL WINDOWS)
178   SET_TARGET_PROPERTIES(_KernelDS PROPERTIES DEBUG_OUTPUT_NAME _KernelDS_d)
179 ENDIF(${MACHINE} STREQUAL WINDOWS)
180 SWIG_LINK_LIBRARIES(KernelDS ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} SalomeDS SalomeKernelHelpers)
181 install(TARGETS _KernelDS DESTINATION ${SALOME_INSTALL_LIBS})
182 install(FILES ${KernelDS_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
183 SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}"  ${SALOME_INSTALL_BINS} EXTRA_DPYS "${SWIG_MODULE_KernelDS_REAL_NAME}")
184
185 INSTALL(TARGETS SALOMEDS_Server SALOMEDS_Client
186       EXPORT ${PROJECT_NAME}TargetGroup
187       DESTINATION ${SALOME_INSTALL_BINS})
188
189 # Executable scripts to be installed
190 SALOME_INSTALL_SCRIPTS(SALOME_DriverPy.py ${SALOME_INSTALL_SCRIPT_PYTHON})
191
192 SET(COMMON_HEADERS_HXX
193   SALOMEDS_SComponentIterator_i.hxx
194   SALOMEDS_StudyBuilder_i.hxx
195   SALOMEDS_UseCaseBuilder_i.hxx
196   SALOMEDS_Driver_i.hxx
197   SALOMEDS_Study_i.hxx
198   SALOMEDS_Study.hxx
199   SALOMEDS_SObject_i.hxx
200   SALOMEDS_SObject.hxx
201   SALOMEDS_SComponent_i.hxx
202   SALOMEDS_SComponent.hxx
203   SALOMEDS_GenericAttribute_i.hxx
204   SALOMEDS_GenericAttribute.hxx
205   SALOMEDS_IParameters.hxx
206   SALOMEDS_Defines.hxx
207   SALOMEDS_wrap.hxx
208   SALOMEDS_Attributes_wrap.hxx
209 )
210 INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS})