Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / GeomAlgoAPI / CMakeLists.txt
1 FIND_PACKAGE(SWIG REQUIRED)
2
3 INCLUDE(${SWIG_USE_FILE})
4 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
5
6 SET(PROJECT_HEADERS
7     GeomAlgoAPI.h
8     GeomAlgoAPI_CompoundBuilder.h
9     GeomAlgoAPI_FaceBuilder.h
10     GeomAlgoAPI_EdgeBuilder.h
11     GeomAlgoAPI_PointBuilder.h
12     GeomAlgoAPI_SketchBuilder.h
13     GeomAlgoAPI_Extrusion.h
14 )
15
16 SET(PROJECT_SOURCES
17     GeomAlgoAPI_CompoundBuilder.cpp
18     GeomAlgoAPI_FaceBuilder.cpp
19     GeomAlgoAPI_EdgeBuilder.cpp
20     GeomAlgoAPI_PointBuilder.cpp
21     GeomAlgoAPI_SketchBuilder.cpp
22     GeomAlgoAPI_Extrusion.cpp
23 )
24
25 ADD_DEFINITIONS(-DGEOMALGOAPI_EXPORTS ${CAS_DEFINITIONS})
26 ADD_LIBRARY(GeomAlgoAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
27
28 SET(CMAKE_SWIG_FLAGS "")
29
30 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES CPLUSPLUS ON)
31 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
32
33 INCLUDE_DIRECTORIES(
34   ../GeomAPI
35   ${CAS_INCLUDE_DIRS}
36 )
37
38 TARGET_LINK_LIBRARIES(GeomAlgoAPI ${PROJECT_LIBRARIES} GeomAPI ${CAS_TKBool} ${CAS_TKBO} ${CAS_TKPrim})
39
40 SET(SWIG_SCRIPTS
41   ${CMAKE_CURRENT_BINARY_DIR}/GeomAlgoAPI.py
42 )
43
44 SET(SWIG_LINK_LIBRARIES
45   GeomAPI
46   GeomAlgoAPI
47   ${PYTHON_LIBRARIES}
48 )
49
50 SWIG_ADD_MODULE(GeomAlgoAPI python GeomAlgoAPI.i ${PROJECT_HEADERS})
51 SWIG_LINK_LIBRARIES(GeomAlgoAPI ${SWIG_LINK_LIBRARIES})
52
53 IF(WIN32)
54   SET_TARGET_PROPERTIES(_GeomAlgoAPI PROPERTIES DEBUG_OUTPUT_NAME _GeomAlgoAPI_d)
55 ENDIF(WIN32)
56
57 INSTALL(TARGETS _GeomAlgoAPI DESTINATION swig)
58 INSTALL(TARGETS GeomAlgoAPI DESTINATION bin)
59 INSTALL(FILES ${SWIG_SCRIPTS} DESTINATION swig)