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