Salome HOME
Issue #2155 Trim removes multi-rotation constraint, undo leads to wrong DOF
[modules/shaper.git] / src / FeaturesAPI / CMakeLists.txt
1 ## Copyright (C) 2014-2016 CEA/DEN, EDF R&D
2
3 INCLUDE(Common)
4
5 SET(PROJECT_HEADERS
6   FeaturesAPI.h
7   FeaturesAPI_Boolean.h
8   FeaturesAPI_Extrusion.h
9   FeaturesAPI_ExtrusionBoolean.h
10   FeaturesAPI_Intersection.h
11   FeaturesAPI_MultiTranslation.h
12   FeaturesAPI_Partition.h
13   FeaturesAPI_Pipe.h
14   FeaturesAPI_Placement.h
15   FeaturesAPI_Recover.h
16   FeaturesAPI_RemoveSubShapes.h
17   FeaturesAPI_Revolution.h
18   FeaturesAPI_RevolutionBoolean.h
19   FeaturesAPI_Rotation.h
20   FeaturesAPI_Scale.h
21   FeaturesAPI_Symmetry.h
22   FeaturesAPI_Translation.h
23   FeaturesAPI_Union.h
24 )
25
26 SET(PROJECT_SOURCES
27   FeaturesAPI_Boolean.cpp
28   FeaturesAPI_Extrusion.cpp
29   FeaturesAPI_ExtrusionBoolean.cpp
30   FeaturesAPI_Intersection.cpp
31   FeaturesAPI_MultiTranslation.cpp
32   FeaturesAPI_Partition.cpp
33   FeaturesAPI_Pipe.cpp
34   FeaturesAPI_Placement.cpp
35   FeaturesAPI_Recover.cpp
36   FeaturesAPI_RemoveSubShapes.cpp
37   FeaturesAPI_Revolution.cpp
38   FeaturesAPI_RevolutionBoolean.cpp
39   FeaturesAPI_Rotation.cpp
40   FeaturesAPI_Scale.cpp
41   FeaturesAPI_Symmetry.cpp
42   FeaturesAPI_Translation.cpp
43   FeaturesAPI_Union.cpp
44 )
45
46 SET(PROJECT_LIBRARIES
47   ModelAPI
48   ModelHighAPI
49 )
50
51 INCLUDE_DIRECTORIES(
52   ${PROJECT_SOURCE_DIR}/src/Events
53   ${PROJECT_SOURCE_DIR}/src/ModelAPI
54   ${PROJECT_SOURCE_DIR}/src/ModelHighAPI
55 )
56
57 # Plugin headers dependency
58 INCLUDE_DIRECTORIES(
59   ${PROJECT_SOURCE_DIR}/src/GeomAPI
60   ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
61   ${PROJECT_SOURCE_DIR}/src/GeomDataAPI
62   ${PROJECT_SOURCE_DIR}/src/FeaturesPlugin
63 )
64
65 ADD_DEFINITIONS(-DFEATURESAPI_EXPORTS)
66 ADD_LIBRARY(FeaturesAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
67 TARGET_LINK_LIBRARIES(FeaturesAPI ${PROJECT_LIBRARIES})
68
69 # SWIG wrapper
70
71 INCLUDE(PythonAPI)
72
73 SET_SOURCE_FILES_PROPERTIES(FeaturesAPI.i PROPERTIES CPLUSPLUS ON)
74 SET_SOURCE_FILES_PROPERTIES(FeaturesAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
75
76 SET(SWIG_LINK_LIBRARIES
77   FeaturesAPI
78   ModelHighAPI
79   ModelAPI
80   ${PYTHON_LIBRARIES}
81 )
82
83 SET(SWIG_MODULE_FeaturesAPI_EXTRA_DEPS ${SWIG_MODULE_FeaturesAPI_EXTRA_DEPS}
84   ${PROJECT_SOURCE_DIR}/src/ModelHighAPI/ModelHighAPI.i
85   doxyhelp.i
86   ${PROJECT_HEADERS}
87 )
88
89 SWIG_ADD_MODULE(FeaturesAPI python FeaturesAPI.i ${PROJECT_HEADERS})
90 SWIG_LINK_LIBRARIES(FeaturesAPI ${SWIG_LINK_LIBRARIES})
91
92 IF(WIN32)
93   SET_TARGET_PROPERTIES(_FeaturesAPI PROPERTIES DEBUG_OUTPUT_NAME _FeaturesAPI_d)
94 ENDIF(WIN32)
95
96 INSTALL(TARGETS _FeaturesAPI DESTINATION ${SHAPER_INSTALL_SWIG})
97 INSTALL(TARGETS FeaturesAPI DESTINATION ${SHAPER_INSTALL_BIN})
98 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/FeaturesAPI.py DESTINATION ${SHAPER_INSTALL_SWIG})