Salome HOME
74f73a9bbed1d10c9156ecfd1e7dcbb3415610de
[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 )
40
41 SET(PROJECT_SOURCES
42     GeomAlgoAPI_Tools.cpp
43     GeomAlgoAPI_CompoundBuilder.cpp
44     GeomAlgoAPI_FaceBuilder.cpp
45     GeomAlgoAPI_EdgeBuilder.cpp
46     GeomAlgoAPI_PointBuilder.cpp
47     GeomAlgoAPI_SketchBuilder.cpp
48     GeomAlgoAPI_Prism.cpp
49     GeomAlgoAPI_Revolution.cpp
50     GeomAlgoAPI_Boolean.cpp
51     GeomAlgoAPI_Rotation.cpp
52     GeomAlgoAPI_Translation.cpp
53     GeomAlgoAPI_MakeShape.cpp
54     GeomAlgoAPI_MakeShapeCustom.cpp
55     GeomAlgoAPI_MakeShapeList.cpp
56     GeomAlgoAPI_MakeSweep.cpp
57     GeomAlgoAPI_DFLoader.cpp
58     GeomAlgoAPI_Placement.cpp
59     GeomAlgoAPI_BREPImport.cpp
60     GeomAlgoAPI_STEPImport.cpp
61     GeomAlgoAPI_IGESImport.cpp
62     GeomAlgoAPI_BREPExport.cpp
63     GeomAlgoAPI_STEPExport.cpp
64     GeomAlgoAPI_IGESExport.cpp
65     GeomAlgoAPI_Transform.cpp
66     GeomAlgoAPI_ShapeTools.cpp
67     GeomAlgoAPI_Partition.cpp
68     GeomAlgoAPI_PaveFiller.cpp
69     GeomAlgoAPI_Intersection.cpp
70     GeomAlgoAPI_Pipe.cpp
71 )
72
73 SET(PROJECT_LIBRARIES
74     GeomAPI
75     GeomAlgoImpl
76     ModelAPI
77     ${CAS_OCAF}
78     ${CAS_SHAPE}
79     ${CAS_TKBO}
80     ${CAS_TKBool}
81     ${CAS_TKBRep}
82     ${CAS_TKCAF}
83     ${CAS_TKCAF}
84     ${CAS_TKLCAF}
85     ${CAS_TKPrim}
86     ${CAS_TKSTEP}
87     ${CAS_TKSTEPBase}
88     ${CAS_TKIGES}
89     ${CAS_TKTopAlgo}
90     ${CAS_TKXSBase}
91     ${CAS_TKOffset}
92 )
93
94 ADD_DEFINITIONS(-DGEOMALGOAPI_EXPORTS ${CAS_DEFINITIONS})
95 ADD_LIBRARY(GeomAlgoAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
96
97 SET(CMAKE_SWIG_FLAGS "-Wall")
98
99 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES CPLUSPLUS ON)
100 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
101
102 INCLUDE_DIRECTORIES(
103   ../GeomAPI
104   ../GeomAlgoImpl
105   ../ModelAPI
106   ${CAS_INCLUDE_DIRS}
107 )
108
109 TARGET_LINK_LIBRARIES(GeomAlgoAPI ${PROJECT_LIBRARIES})
110
111 SET(SWIG_SCRIPTS
112   ${CMAKE_CURRENT_BINARY_DIR}/GeomAlgoAPI.py
113 )
114
115 SET(SWIG_LINK_LIBRARIES
116   GeomAPI
117   GeomAlgoAPI
118   GeomAlgoImpl
119   ${PYTHON_LIBRARIES}
120 )
121
122 SWIG_ADD_MODULE(GeomAlgoAPI python GeomAlgoAPI.i ${PROJECT_HEADERS})
123 SWIG_LINK_LIBRARIES(GeomAlgoAPI ${SWIG_LINK_LIBRARIES})
124
125 IF(WIN32)
126   SET_TARGET_PROPERTIES(_GeomAlgoAPI PROPERTIES DEBUG_OUTPUT_NAME _GeomAlgoAPI_d)
127 ENDIF(WIN32)
128
129 INSTALL(TARGETS _GeomAlgoAPI DESTINATION ${SHAPER_INSTALL_SWIG})
130 INSTALL(TARGETS GeomAlgoAPI DESTINATION ${SHAPER_INSTALL_BIN})
131 INSTALL(FILES ${SWIG_SCRIPTS} DESTINATION ${SHAPER_INSTALL_SWIG})