Salome HOME
Merge remote-tracking branch 'remotes/origin/master' into SketchSolver
[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 )
14
15 SET(PROJECT_SOURCES
16     GeomAlgoAPI_CompoundBuilder.cpp
17     GeomAlgoAPI_FaceBuilder.cpp
18     GeomAlgoAPI_EdgeBuilder.cpp
19     GeomAlgoAPI_PointBuilder.cpp
20     GeomAlgoAPI_SketchBuilder.cpp
21 )
22
23 ADD_DEFINITIONS(-DGEOMALGOAPI_EXPORTS ${CAS_DEFINITIONS})
24 ADD_LIBRARY(GeomAlgoAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
25
26 SET(CMAKE_SWIG_FLAGS "")
27
28 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES CPLUSPLUS ON)
29 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
30
31 INCLUDE_DIRECTORIES(
32   ../GeomAPI
33   ${CAS_INCLUDE_DIRS}
34 )
35
36 TARGET_LINK_LIBRARIES(GeomAlgoAPI ${PROJECT_LIBRARIES} GeomAPI ${CAS_TKBool} ${CAS_TKBO})
37
38 SET(SWIG_SCRIPTS
39   ${CMAKE_CURRENT_BINARY_DIR}/GeomAlgoAPI.py
40 )
41
42 SET(SWIG_LINK_LIBRARIES
43   GeomAPI
44   GeomAlgoAPI
45   ${PYTHON_LIBRARIES}
46 )
47
48 SWIG_ADD_MODULE(GeomAlgoAPI python GeomAlgoAPI.i ${PROJECT_HEADERS})
49 SWIG_LINK_LIBRARIES(GeomAlgoAPI ${SWIG_LINK_LIBRARIES})
50
51 IF(WIN32)
52   SET_TARGET_PROPERTIES(_GeomAlgoAPI PROPERTIES DEBUG_OUTPUT_NAME _GeomAlgoAPI_d)
53 ENDIF(WIN32)
54
55 INSTALL(TARGETS _GeomAlgoAPI DESTINATION swig)
56 INSTALL(TARGETS GeomAlgoAPI DESTINATION bin)
57 INSTALL(FILES ${SWIG_SCRIPTS} DESTINATION swig)