]> SALOME platform Git repositories - modules/shaper.git/blob - src/ModelAPI/CMakeLists.txt
Salome HOME
19fa6c522568ba0669f8c1b1f228f1c4084a9e9f
[modules/shaper.git] / src / ModelAPI / CMakeLists.txt
1 ## Copyright (C) 2014-2017  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
18 ## email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
19 ##
20
21 FIND_PACKAGE(SWIG REQUIRED)
22 INCLUDE(${SWIG_USE_FILE})
23 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
24 INCLUDE(UnitTest)
25
26 SET(PROJECT_HEADERS
27     ModelAPI.h
28     ModelAPI_Attribute.h
29     ModelAPI_AttributeBoolean.h
30     ModelAPI_AttributeIntArray.h
31     ModelAPI_AttributeDocRef.h
32     ModelAPI_AttributeDouble.h
33     ModelAPI_AttributeDoubleArray.h
34     ModelAPI_AttributeInteger.h
35     ModelAPI_AttributeRefAttr.h
36     ModelAPI_AttributeReference.h
37     ModelAPI_AttributeRefAttrList.h
38     ModelAPI_AttributeRefList.h
39     ModelAPI_AttributeSelection.h
40     ModelAPI_AttributeSelectionList.h
41     ModelAPI_AttributeString.h
42     ModelAPI_AttributeStringArray.h
43     ModelAPI_AttributeTables.h
44     ModelAPI_AttributeValidator.h
45     ModelAPI_BodyBuilder.h
46     ModelAPI_CompositeFeature.h
47     ModelAPI_Data.h
48     ModelAPI_Document.h
49     ModelAPI_EventReentrantMessage.h
50     ModelAPI_Events.h
51     ModelAPI_Expression.h
52     ModelAPI_Feature.h
53     ModelAPI_FeatureValidator.h
54     ModelAPI_Folder.h
55     ModelAPI_IReentrant.h
56     ModelAPI_Object.h
57     ModelAPI_Plugin.h
58     ModelAPI_Result.h
59     ModelAPI_ResultBody.h
60     ModelAPI_ResultConstruction.h
61     ModelAPI_ResultField.h
62     ModelAPI_ResultGroup.h
63     ModelAPI_ResultParameter.h
64     ModelAPI_ResultPart.h
65     ModelAPI_Session.h
66     ModelAPI_Tools.h
67     ModelAPI_Validator.h
68     ModelAPI_Entity.h
69 )
70
71 SET(PROJECT_SOURCES
72     ModelAPI_Attribute.cpp
73     ModelAPI_AttributeBoolean.cpp
74     ModelAPI_AttributeIntArray.cpp
75     ModelAPI_AttributeDocRef.cpp
76     ModelAPI_AttributeDouble.cpp
77     ModelAPI_AttributeDoubleArray.cpp
78     ModelAPI_AttributeInteger.cpp
79     ModelAPI_AttributeRefAttr.cpp
80     ModelAPI_AttributeReference.cpp
81     ModelAPI_AttributeRefAttrList.cpp
82     ModelAPI_AttributeRefList.cpp
83     ModelAPI_AttributeSelection.cpp
84     ModelAPI_AttributeSelectionList.cpp
85     ModelAPI_AttributeString.cpp
86     ModelAPI_AttributeStringArray.cpp
87     ModelAPI_AttributeTables.cpp
88     ModelAPI_BodyBuilder.cpp
89     ModelAPI_CompositeFeature.cpp
90     ModelAPI_Data.cpp
91     ModelAPI_Document.cpp
92     ModelAPI_EventReentrantMessage.cpp
93     ModelAPI_Events.cpp
94     ModelAPI_Expression.cpp
95     ModelAPI_Feature.cpp
96     ModelAPI_FeatureValidator.cpp
97     ModelAPI_Folder.cpp
98     ModelAPI_IReentrant.cpp
99     ModelAPI_Object.cpp
100     ModelAPI_Plugin.cpp
101     ModelAPI_Result.cpp
102     ModelAPI_ResultBody.cpp
103     ModelAPI_ResultConstruction.cpp
104     ModelAPI_ResultField.cpp
105     ModelAPI_ResultGroup.cpp
106     ModelAPI_ResultPart.cpp
107     ModelAPI_ResultParameter.cpp
108     ModelAPI_Session.cpp
109     ModelAPI_Tools.cpp
110     ModelAPI_AttributeValidator.cpp
111 )
112
113 SET(PROJECT_LIBRARIES
114     Config
115     GeomAPI
116 )
117 SET(CMAKE_SWIG_FLAGS -threads -Wall)
118 ADD_DEFINITIONS(-DMODELAPI_EXPORTS)
119
120 ADD_LIBRARY(ModelAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
121 SET_TARGET_PROPERTIES(ModelAPI PROPERTIES LINKER_LANGUAGE CXX)
122 TARGET_LINK_LIBRARIES(ModelAPI ${PROJECT_LIBRARIES})
123
124 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/Config
125                     ${PROJECT_SOURCE_DIR}/src/Events
126                     ${PROJECT_SOURCE_DIR}/src/GeomAPI
127                     ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
128 )
129
130
131 SET_SOURCE_FILES_PROPERTIES(ModelAPI.i PROPERTIES CPLUSPLUS ON)
132 # "-includeall" is not needed: it starts to follow the standard inludes (like "string") without success
133 # SET_SOURCE_FILES_PROPERTIES(ModelAPI.i PROPERTIES SWIG_FLAGS)
134 SET_SOURCE_FILES_PROPERTIES(ModelAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
135 #SET_SOURCE_FILES_PROPERTIES(ModelAPIPYTHON_wrap.cxx PROPERTIES COMPILE_FLAGS "-D_WIN32")
136
137 SET(SWIG_SCRIPTS
138   ${CMAKE_CURRENT_BINARY_DIR}/ModelAPI.py
139 )
140
141 SET(SWIG_LINK_LIBRARIES
142   ModelAPI
143   GeomAPI
144   ${PYTHON_LIBRARIES}
145 )
146
147 IF(${CMAKE_VERSION} VERSION_GREATER "3.8.0")
148   SWIG_ADD_LIBRARY(ModelAPI LANGUAGE python SOURCES ModelAPI.i ${PROJECT_HEADERS})
149 ELSE()
150   SWIG_ADD_MODULE(ModelAPI python ModelAPI.i ${PROJECT_HEADERS})
151 ENDIF()
152 SWIG_LINK_LIBRARIES(ModelAPI ${SWIG_LINK_LIBRARIES})
153
154 IF(WIN32)
155   SET_TARGET_PROPERTIES(_ModelAPI PROPERTIES DEBUG_OUTPUT_NAME _ModelAPI_d)
156 ENDIF(WIN32)
157
158 INSTALL(TARGETS _ModelAPI DESTINATION ${SHAPER_INSTALL_SWIG})
159 INSTALL(TARGETS ModelAPI DESTINATION ${SHAPER_INSTALL_BIN})
160 INSTALL(FILES ${SWIG_SCRIPTS} DESTINATION ${SHAPER_INSTALL_SWIG})
161
162 ADD_UNIT_TESTS(TestConstants.py
163                TestUndoRedo.py
164                TestDocument.py
165                Test1064.py
166                TestResults.py
167                TestIntArray.py
168                Test1512.py
169                Test1562.py
170                TestDoubleArray.py
171                Test1757.py
172                Test1998.py
173                Test1995.py
174                Test2170.py
175                TestExternalConstruction.py
176                Test2228.py
177                Test2241.py
178                Test2252.py
179                Test2276.py
180                Test2389.py
181                Test2391.py
182                TestCustomName_BooleanCut.py
183                TestCustomName_CommonCompSolid.py
184                TestCustomName_CutCompSolid.py
185                TestCustomName_CutGroup.py
186                TestCustomName_DefaultName.py
187                TestCustomName_ExtrudeFace.py
188                TestCustomName_ExtrusionCut.py
189                TestCustomName_ExtrusionCutFace.py
190                TestCustomName_MultiTranslation.py
191                TestCustomName_Partition.py
192                TestCustomName_Placement.py
193                TestCustomName_Recover.py
194                TestCustomName_Rename.py
195                TestCustomName_RotateGroup.py
196                TestCustomName_Translation.py
197                TestFolder_Create.py
198                TestFolder_Update.py
199                TestFolder_Remove.py
200                TestFolder_Stability.py
201                TestFolder_CustomName.py
202                TestFolder_Empty.py
203                Test2358_1.py
204                Test2358_2.py
205                Test2396.py
206                Test2401.py
207                Test2413.py
208                Test2496.py
209                Test2510.py
210                TestFeatureSelection_1.py
211                TestFeatureSelection_2.py
212                Test2607.py
213                TestBlockRecalculation.py
214                TestSelectionScope.py
215                TestSelectorShell.py
216                TestWeakNaming2125.py
217                TestWeakNaming2222.py
218                TestWeakNaming2245.py
219                TestWeakNaming2247.py
220                TestWeakNaming2248.py
221                TestWeakNaming2261.py
222                TestWeakNaming2291.py
223                TestWeakNaming2335.py
224                TestWeakNaming2375.py
225                TestWeakNaming2437.py
226                TestWeakNaming2445.py
227                TestWeakNaming2446.py
228                TestWeakNaming2452.py
229                TestWeakNamingSortOrder.py
230                Test2685.py
231                TestGeomNamingPlacement.py
232                TestGeomNamingRevolution.py
233                TestGeomNamingEdgeByFilter.py
234                TestGeomNamingSketchPlane.py
235                TestGeomNamingBoxWithFillet.py
236                TestContainerSelector.py
237                TestSaveOpen1.py
238                TestSaveOpen2.py
239                TestSelectionInitialization.py
240                Test2828.py
241 )