Salome HOME
4739f5025d2ca18b68ada9835733d331a5b6b5cd
[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_Extrusion.h
17     GeomAlgoAPI_Prism.h
18     GeomAlgoAPI_Revolution.h
19     GeomAlgoAPI_Boolean.h
20     GeomAlgoAPI_Rotation.h
21     GeomAlgoAPI_Movement.h
22     GeomAlgoAPI_MakeShape.h
23     GeomAlgoAPI_MakeShapeList.h
24     GeomAlgoAPI_DFLoader.h
25     GeomAlgoAPI_Placement.h
26     GeomAlgoAPI_BREPImport.h
27     GeomAlgoAPI_STEPImport.h
28     GeomAlgoAPI_IGESImport.h
29     GeomAlgoAPI_BREPExport.h
30     GeomAlgoAPI_STEPExport.h
31     GeomAlgoAPI_IGESExport.h
32     GeomAlgoAPI_Transform.h
33     GeomAlgoAPI_ShapeTools.h
34     GeomAlgoAPI_Partition.h
35 )
36
37 SET(PROJECT_SOURCES
38     GeomAlgoAPI_Tools.cpp
39     GeomAlgoAPI_CompoundBuilder.cpp
40     GeomAlgoAPI_FaceBuilder.cpp
41     GeomAlgoAPI_EdgeBuilder.cpp
42     GeomAlgoAPI_PointBuilder.cpp
43     GeomAlgoAPI_SketchBuilder.cpp
44     GeomAlgoAPI_Extrusion.cpp
45     GeomAlgoAPI_Prism.cpp
46     GeomAlgoAPI_Revolution.cpp
47     GeomAlgoAPI_Boolean.cpp
48     GeomAlgoAPI_Rotation.cpp
49     GeomAlgoAPI_Movement.cpp
50     GeomAlgoAPI_MakeShape.cpp
51     GeomAlgoAPI_MakeShapeList.cpp
52     GeomAlgoAPI_DFLoader.cpp
53     GeomAlgoAPI_Placement.cpp
54     GeomAlgoAPI_BREPImport.cpp
55     GeomAlgoAPI_STEPImport.cpp
56     GeomAlgoAPI_IGESImport.cpp
57     GeomAlgoAPI_BREPExport.cpp
58     GeomAlgoAPI_STEPExport.cpp
59     GeomAlgoAPI_IGESExport.cpp
60     GeomAlgoAPI_Transform.cpp
61     GeomAlgoAPI_ShapeTools.cpp
62     GeomAlgoAPI_Partition.cpp
63 )
64
65 SET(PROJECT_LIBRARIES
66     GeomAPI
67     GeomAlgoImpl
68     ModelAPI
69     ${CAS_OCAF}
70     ${CAS_SHAPE}
71     ${CAS_TKBO} 
72     ${CAS_TKBool} 
73     ${CAS_TKBRep}
74     ${CAS_TKCAF}
75     ${CAS_TKCAF}
76     ${CAS_TKLCAF}
77     ${CAS_TKPrim}
78     ${CAS_TKSTEP}
79     ${CAS_TKSTEPBase}
80     ${CAS_TKIGES}
81     ${CAS_TKTopAlgo}
82     ${CAS_TKXSBase}
83     ${CAS_TKOffset}
84 )
85
86 ADD_DEFINITIONS(-DGEOMALGOAPI_EXPORTS ${CAS_DEFINITIONS})
87 ADD_LIBRARY(GeomAlgoAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
88
89 SET(CMAKE_SWIG_FLAGS "-Wall")
90
91 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES CPLUSPLUS ON)
92 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
93
94 INCLUDE_DIRECTORIES(
95   ../GeomAPI
96   ../GeomAlgoImpl
97   ../ModelAPI
98   ${CAS_INCLUDE_DIRS}
99 )
100
101 TARGET_LINK_LIBRARIES(GeomAlgoAPI ${PROJECT_LIBRARIES})
102
103 SET(SWIG_SCRIPTS
104   ${CMAKE_CURRENT_BINARY_DIR}/GeomAlgoAPI.py
105 )
106
107 SET(SWIG_LINK_LIBRARIES
108   GeomAPI
109   GeomAlgoAPI
110   GeomAlgoImpl
111   ${PYTHON_LIBRARIES}
112 )
113
114 SWIG_ADD_MODULE(GeomAlgoAPI python GeomAlgoAPI.i ${PROJECT_HEADERS})
115 SWIG_LINK_LIBRARIES(GeomAlgoAPI ${SWIG_LINK_LIBRARIES})
116
117 IF(WIN32)
118   SET_TARGET_PROPERTIES(_GeomAlgoAPI PROPERTIES DEBUG_OUTPUT_NAME _GeomAlgoAPI_d)
119 ENDIF(WIN32)
120
121 INSTALL(TARGETS _GeomAlgoAPI DESTINATION swig)
122 INSTALL(TARGETS GeomAlgoAPI DESTINATION bin)
123 INSTALL(FILES ${SWIG_SCRIPTS} DESTINATION swig)