1 # Copyright (C) 2014-2019 CEA/DEN, EDF R&D
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.
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.
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
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 FIND_PACKAGE(SWIG REQUIRED)
21 INCLUDE(${SWIG_USE_FILE})
22 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
28 ModelAPI_AttributeBoolean.h
29 ModelAPI_AttributeIntArray.h
30 ModelAPI_AttributeDocRef.h
31 ModelAPI_AttributeDouble.h
32 ModelAPI_AttributeDoubleArray.h
33 ModelAPI_AttributeInteger.h
34 ModelAPI_AttributeRefAttr.h
35 ModelAPI_AttributeReference.h
36 ModelAPI_AttributeRefAttrList.h
37 ModelAPI_AttributeRefList.h
38 ModelAPI_AttributeSelection.h
39 ModelAPI_AttributeSelectionList.h
40 ModelAPI_AttributeString.h
41 ModelAPI_AttributeStringArray.h
42 ModelAPI_AttributeTables.h
43 ModelAPI_AttributeValidator.h
44 ModelAPI_BodyBuilder.h
45 ModelAPI_CompositeFeature.h
49 ModelAPI_EventReentrantMessage.h
53 ModelAPI_FeatureValidator.h
55 ModelAPI_FiltersArgs.h
56 ModelAPI_FiltersFactory.h
57 ModelAPI_FiltersFeature.h
64 ModelAPI_ResultConstruction.h
65 ModelAPI_ResultField.h
66 ModelAPI_ResultGroup.h
67 ModelAPI_ResultParameter.h
75 ModelAPI_Attribute.cpp
76 ModelAPI_AttributeBoolean.cpp
77 ModelAPI_AttributeIntArray.cpp
78 ModelAPI_AttributeDocRef.cpp
79 ModelAPI_AttributeDouble.cpp
80 ModelAPI_AttributeDoubleArray.cpp
81 ModelAPI_AttributeInteger.cpp
82 ModelAPI_AttributeRefAttr.cpp
83 ModelAPI_AttributeReference.cpp
84 ModelAPI_AttributeRefAttrList.cpp
85 ModelAPI_AttributeRefList.cpp
86 ModelAPI_AttributeSelection.cpp
87 ModelAPI_AttributeSelectionList.cpp
88 ModelAPI_AttributeString.cpp
89 ModelAPI_AttributeStringArray.cpp
90 ModelAPI_AttributeTables.cpp
91 ModelAPI_AttributeValidator.cpp
92 ModelAPI_BodyBuilder.cpp
93 ModelAPI_CompositeFeature.cpp
96 ModelAPI_EventReentrantMessage.cpp
98 ModelAPI_Expression.cpp
100 ModelAPI_FeatureValidator.cpp
102 ModelAPI_IReentrant.cpp
106 ModelAPI_ResultBody.cpp
107 ModelAPI_ResultConstruction.cpp
108 ModelAPI_ResultField.cpp
109 ModelAPI_ResultGroup.cpp
110 ModelAPI_ResultPart.cpp
111 ModelAPI_ResultParameter.cpp
116 SET(PROJECT_LIBRARIES
120 SET(CMAKE_SWIG_FLAGS -threads -w325,321,362,383,302,403,473)
121 ADD_DEFINITIONS(-DMODELAPI_EXPORTS)
123 ADD_LIBRARY(ModelAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
124 SET_TARGET_PROPERTIES(ModelAPI PROPERTIES LINKER_LANGUAGE CXX)
125 TARGET_LINK_LIBRARIES(ModelAPI ${PROJECT_LIBRARIES})
127 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/Config
128 ${PROJECT_SOURCE_DIR}/src/Events
129 ${PROJECT_SOURCE_DIR}/src/GeomAPI
130 ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
134 SET_SOURCE_FILES_PROPERTIES(ModelAPI.i PROPERTIES CPLUSPLUS ON)
135 # "-includeall" is not needed: it starts to follow the standard inludes (like "string") without success
136 # SET_SOURCE_FILES_PROPERTIES(ModelAPI.i PROPERTIES SWIG_FLAGS)
137 SET_SOURCE_FILES_PROPERTIES(ModelAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
138 #SET_SOURCE_FILES_PROPERTIES(ModelAPIPYTHON_wrap.cxx PROPERTIES COMPILE_FLAGS "-D_WIN32")
141 ${CMAKE_CURRENT_BINARY_DIR}/ModelAPI.py
144 SET(SWIG_LINK_LIBRARIES
150 IF(${CMAKE_VERSION} VERSION_GREATER "3.8.0")
151 SWIG_ADD_LIBRARY(ModelAPI LANGUAGE python SOURCES ModelAPI.i ${PROJECT_HEADERS})
153 SWIG_ADD_MODULE(ModelAPI python ModelAPI.i ${PROJECT_HEADERS})
155 SWIG_LINK_LIBRARIES(ModelAPI ${SWIG_LINK_LIBRARIES})
158 SET_TARGET_PROPERTIES(_ModelAPI PROPERTIES DEBUG_OUTPUT_NAME _ModelAPI_d)
161 INSTALL(TARGETS _ModelAPI DESTINATION ${SHAPER_INSTALL_SWIG})
162 INSTALL(TARGETS ModelAPI DESTINATION ${SHAPER_INSTALL_BIN})
163 INSTALL(FILES ${SWIG_SCRIPTS} DESTINATION ${SHAPER_INSTALL_SWIG})
165 ADD_UNIT_TESTS(TestConstants.py
178 TestExternalConstruction.py
185 TestCustomName_BooleanCut.py
186 TestCustomName_CommonCompSolid.py
187 TestCustomName_CutCompSolid.py
188 TestCustomName_CutGroup.py
189 TestCustomName_DefaultName.py
190 TestCustomName_ExtrudeFace.py
191 TestCustomName_ExtrusionCut.py
192 TestCustomName_ExtrusionCutFace.py
193 TestCustomName_MultiTranslation.py
194 TestCustomName_Partition.py
195 TestCustomName_Placement.py
196 TestCustomName_Recover.py
197 TestCustomName_Rename.py
198 TestCustomName_RotateGroup.py
199 TestCustomName_Translation.py
203 TestFolder_Stability.py
204 TestFolder_CustomName.py
214 TestFeatureSelection_1.py
215 TestFeatureSelection_2.py
217 TestBlockRecalculation.py
218 TestSelectionScope.py
220 TestWeakNaming2125.py
221 TestWeakNaming2222.py
222 TestWeakNaming2245.py
223 TestWeakNaming2247.py
224 TestWeakNaming2248.py
225 TestWeakNaming2261.py
226 TestWeakNaming2291.py
227 TestWeakNaming2335.py
228 TestWeakNaming2375.py
229 TestWeakNaming2437.py
230 TestWeakNaming2445.py
231 TestWeakNaming2446.py
232 TestWeakNaming2452.py
233 TestWeakNamingSortOrder.py
235 TestGeomNamingPlacement.py
236 TestGeomNamingRevolution.py
237 TestGeomNamingEdgeByFilter.py
238 TestGeomNamingSketchPlane.py
239 TestGeomNamingBoxWithFillet.py
240 TestContainerSelector.py
243 TestSelectionInitialization.py
245 TestSelectionRestore.py