Salome HOME
Merge branch 'Dev_1.1.0' of newgeom:newgeom into Dev_1.1.0
[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_CompoundBuilder.h
11     GeomAlgoAPI_FaceBuilder.h
12     GeomAlgoAPI_EdgeBuilder.h
13     GeomAlgoAPI_PointBuilder.h
14     GeomAlgoAPI_SketchBuilder.h
15     GeomAlgoAPI_Extrusion.h
16     GeomAlgoAPI_Boolean.h
17     GeomAlgoAPI_MakeShape.h
18     GeomAlgoAPI_DFLoader.h
19     GeomAlgoAPI_Placement.h
20     GeomAlgoAPI_BREPImport.h
21     GeomAlgoAPI_STEPImport.h
22 )
23
24 SET(PROJECT_SOURCES
25     GeomAlgoAPI_CompoundBuilder.cpp
26     GeomAlgoAPI_FaceBuilder.cpp
27     GeomAlgoAPI_EdgeBuilder.cpp
28     GeomAlgoAPI_PointBuilder.cpp
29     GeomAlgoAPI_SketchBuilder.cpp
30     GeomAlgoAPI_Extrusion.cpp
31     GeomAlgoAPI_Boolean.cpp
32     GeomAlgoAPI_MakeShape.cpp
33     GeomAlgoAPI_DFLoader.cpp
34     GeomAlgoAPI_Placement.cpp
35     GeomAlgoAPI_BREPImport.cpp
36     GeomAlgoAPI_STEPImport.cpp
37 )
38
39 SET(PROJECT_LIBRARIES
40     GeomAPI
41     ModelAPI
42     ${CAS_OCAF}
43     ${CAS_SHAPE}
44     ${CAS_TKBO} 
45     ${CAS_TKBool} 
46     ${CAS_TKBRep}
47     ${CAS_TKCAF}
48     ${CAS_TKCAF}
49     ${CAS_TKLCAF}
50     ${CAS_TKPrim}
51     ${CAS_TKSTEP}
52     ${CAS_TKSTEPBase}
53     ${CAS_TKTopAlgo}
54     ${CAS_TKXSBase} 
55 )
56
57 ADD_DEFINITIONS(-DGEOMALGOAPI_EXPORTS ${CAS_DEFINITIONS})
58 ADD_LIBRARY(GeomAlgoAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
59
60 SET(CMAKE_SWIG_FLAGS "-Wall")
61
62 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES CPLUSPLUS ON)
63 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
64
65 INCLUDE_DIRECTORIES(
66   ../GeomAPI
67   ../ModelAPI
68   ${CAS_INCLUDE_DIRS}
69 )
70
71 TARGET_LINK_LIBRARIES(GeomAlgoAPI ${PROJECT_LIBRARIES})
72
73 SET(SWIG_SCRIPTS
74   ${CMAKE_CURRENT_BINARY_DIR}/GeomAlgoAPI.py
75 )
76
77 SET(SWIG_LINK_LIBRARIES
78   GeomAPI
79   GeomAlgoAPI
80   ${PYTHON_LIBRARIES}
81 )
82
83 SWIG_ADD_MODULE(GeomAlgoAPI python GeomAlgoAPI.i ${PROJECT_HEADERS})
84 SWIG_LINK_LIBRARIES(GeomAlgoAPI ${SWIG_LINK_LIBRARIES})
85
86 IF(WIN32)
87   SET_TARGET_PROPERTIES(_GeomAlgoAPI PROPERTIES DEBUG_OUTPUT_NAME _GeomAlgoAPI_d)
88 ENDIF(WIN32)
89
90 INSTALL(TARGETS _GeomAlgoAPI DESTINATION swig)
91 INSTALL(TARGETS GeomAlgoAPI DESTINATION bin)
92 INSTALL(FILES ${SWIG_SCRIPTS} DESTINATION swig)