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