Salome HOME
Merge branch 'master' into cgt/devCEA
[modules/shaper.git] / src / GeomAlgoAPI / CMakeLists.txt
1 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 FIND_PACKAGE(SWIG REQUIRED)
4
5 INCLUDE(${SWIG_USE_FILE})
6 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
7
8 SET(PROJECT_HEADERS
9     GeomAlgoAPI.h
10     GeomAlgoAPI_Tools.h
11     GeomAlgoAPI_CompoundBuilder.h
12     GeomAlgoAPI_FaceBuilder.h
13     GeomAlgoAPI_EdgeBuilder.h
14     GeomAlgoAPI_PointBuilder.h
15     GeomAlgoAPI_SketchBuilder.h
16     GeomAlgoAPI_Prism.h
17     GeomAlgoAPI_Revolution.h
18     GeomAlgoAPI_Boolean.h
19     GeomAlgoAPI_Rotation.h
20     GeomAlgoAPI_Translation.h
21     GeomAlgoAPI_MakeShape.h
22     GeomAlgoAPI_MakeShapeCustom.h
23     GeomAlgoAPI_MakeShapeList.h
24     GeomAlgoAPI_MakeSweep.h
25     GeomAlgoAPI_DFLoader.h
26     GeomAlgoAPI_Placement.h
27     GeomAlgoAPI_BREPImport.h
28     GeomAlgoAPI_STEPImport.h
29     GeomAlgoAPI_IGESImport.h
30     GeomAlgoAPI_BREPExport.h
31     GeomAlgoAPI_STEPExport.h
32     GeomAlgoAPI_IGESExport.h
33     GeomAlgoAPI_Transform.h
34     GeomAlgoAPI_ShapeTools.h
35     GeomAlgoAPI_Partition.h
36     GeomAlgoAPI_PaveFiller.h
37     GeomAlgoAPI_Intersection.h
38     GeomAlgoAPI_Pipe.h
39     GeomAlgoAPI_WireBuilder.h
40     GeomAlgoAPI_Sewing.h
41     GeomAlgoAPI_ShapeBuilder.h
42     GeomAlgoAPI_ShapeAPI.h
43     GeomAlgoAPI_Exception.h
44     GeomAlgoAPI_Box.h
45     GeomAlgoAPI_Cone.h
46     GeomAlgoAPI_Cylinder.h
47     GeomAlgoAPI_Sphere.h
48     GeomAlgoAPI_Torus.h
49     GeomAlgoAPI_XAOExport.h
50     GeomAlgoAPI_XAOImport.h
51     GeomAlgoAPI_Copy.h
52     GeomAlgoAPI_ConeSegment.h
53     GeomAlgoAPI_Symmetry.h
54     GeomAlgoAPI_Scale.h
55     GeomAlgoAPI_Circ2dBuilder.h
56 )
57
58 SET(PROJECT_SOURCES
59     GeomAlgoAPI_Tools.cpp
60     GeomAlgoAPI_CompoundBuilder.cpp
61     GeomAlgoAPI_FaceBuilder.cpp
62     GeomAlgoAPI_EdgeBuilder.cpp
63     GeomAlgoAPI_PointBuilder.cpp
64     GeomAlgoAPI_SketchBuilder.cpp
65     GeomAlgoAPI_Prism.cpp
66     GeomAlgoAPI_Revolution.cpp
67     GeomAlgoAPI_Boolean.cpp
68     GeomAlgoAPI_Rotation.cpp
69     GeomAlgoAPI_Translation.cpp
70     GeomAlgoAPI_MakeShape.cpp
71     GeomAlgoAPI_MakeShapeCustom.cpp
72     GeomAlgoAPI_MakeShapeList.cpp
73     GeomAlgoAPI_MakeSweep.cpp
74     GeomAlgoAPI_DFLoader.cpp
75     GeomAlgoAPI_Placement.cpp
76     GeomAlgoAPI_BREPImport.cpp
77     GeomAlgoAPI_STEPImport.cpp
78     GeomAlgoAPI_IGESImport.cpp
79     GeomAlgoAPI_BREPExport.cpp
80     GeomAlgoAPI_STEPExport.cpp
81     GeomAlgoAPI_IGESExport.cpp
82     GeomAlgoAPI_Transform.cpp
83     GeomAlgoAPI_ShapeTools.cpp
84     GeomAlgoAPI_Partition.cpp
85     GeomAlgoAPI_PaveFiller.cpp
86     GeomAlgoAPI_Intersection.cpp
87     GeomAlgoAPI_Pipe.cpp
88     GeomAlgoAPI_WireBuilder.cpp
89     GeomAlgoAPI_Sewing.cpp
90     GeomAlgoAPI_ShapeBuilder.cpp
91     GeomAlgoAPI_ShapeAPI.cpp
92     GeomAlgoAPI_Exception.cpp
93     GeomAlgoAPI_Box.cpp
94     GeomAlgoAPI_Cone.cpp
95     GeomAlgoAPI_Cylinder.cpp
96     GeomAlgoAPI_Sphere.cpp
97     GeomAlgoAPI_Torus.cpp
98     GeomAlgoAPI_XAOExport.cpp
99     GeomAlgoAPI_XAOImport.cpp
100     GeomAlgoAPI_Copy.cpp
101     GeomAlgoAPI_ConeSegment.cpp
102     GeomAlgoAPI_Symmetry.cpp
103     GeomAlgoAPI_Scale.cpp
104     GeomAlgoAPI_Circ2dBuilder.cpp
105 )
106
107 SET(PROJECT_LIBRARIES
108     GeomAPI
109     GeomAlgoImpl
110     ModelAPI
111     XAOShaper
112     ${CAS_OCAF}
113     ${CAS_SHAPE}
114     ${CAS_TKBO}
115     ${CAS_TKBool}
116     ${CAS_TKBRep}
117     ${CAS_TKCAF}
118     ${CAS_TKCAF}
119     ${CAS_TKLCAF}
120     ${CAS_TKPrim}
121     ${CAS_TKSTEP}
122     ${CAS_TKSTEPBase}
123     ${CAS_TKIGES}
124     ${CAS_TKTopAlgo}
125     ${CAS_TKXSBase}
126     ${CAS_TKOffset}
127     ${CAS_TKShHealing}
128 )
129
130 ADD_DEFINITIONS(-DGEOMALGOAPI_EXPORTS ${CAS_DEFINITIONS})
131 ADD_LIBRARY(GeomAlgoAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
132
133 SET(CMAKE_SWIG_FLAGS "-Wall")
134
135 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES CPLUSPLUS ON)
136 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
137
138 INCLUDE_DIRECTORIES(
139   ../GeomAPI
140   ../GeomAlgoImpl
141   ../ModelAPI
142   ../XAO
143   ${CAS_INCLUDE_DIRS}
144 )
145
146 TARGET_LINK_LIBRARIES(GeomAlgoAPI ${PROJECT_LIBRARIES})
147
148 SET(SWIG_SCRIPTS
149   ${CMAKE_CURRENT_BINARY_DIR}/GeomAlgoAPI.py
150 )
151
152 SET(SWIG_LINK_LIBRARIES
153   GeomAPI
154   GeomAlgoAPI
155   GeomAlgoImpl
156   ${PYTHON_LIBRARIES}
157 )
158
159 SWIG_ADD_MODULE(GeomAlgoAPI python GeomAlgoAPI.i ${PROJECT_HEADERS})
160 SWIG_LINK_LIBRARIES(GeomAlgoAPI ${SWIG_LINK_LIBRARIES})
161
162 IF(WIN32)
163   SET_TARGET_PROPERTIES(_GeomAlgoAPI PROPERTIES DEBUG_OUTPUT_NAME _GeomAlgoAPI_d)
164 ENDIF(WIN32)
165
166 INSTALL(TARGETS _GeomAlgoAPI DESTINATION ${SHAPER_INSTALL_SWIG})
167 INSTALL(TARGETS GeomAlgoAPI DESTINATION ${SHAPER_INSTALL_BIN})
168 INSTALL(FILES ${SWIG_SCRIPTS} DESTINATION ${SHAPER_INSTALL_SWIG})
169