Salome HOME
Add "Torus" primitive and "Cone" primitive.
[modules/shaper.git] / src / PrimitivesAPI / CMakeLists.txt
1 ## Copyright (C) 2014-2016 CEA/DEN, EDF R&D
2
3 INCLUDE(Common)
4
5 SET(PROJECT_HEADERS
6   PrimitivesAPI.h
7   PrimitivesAPI_Box.h
8   PrimitivesAPI_Cone.h
9   PrimitivesAPI_Cylinder.h
10   PrimitivesAPI_Sphere.h
11   PrimitivesAPI_Torus.h
12 )
13
14 SET(PROJECT_SOURCES
15   PrimitivesAPI_Box.cpp
16   PrimitivesAPI_Cone.cpp
17   PrimitivesAPI_Cylinder.cpp
18   PrimitivesAPI_Sphere.cpp
19   PrimitivesAPI_Torus.cpp
20 )
21
22 SET(PROJECT_LIBRARIES
23   ModelAPI
24   ModelHighAPI
25 )
26
27 INCLUDE_DIRECTORIES(
28   ${PROJECT_SOURCE_DIR}/src/Events
29   ${PROJECT_SOURCE_DIR}/src/ModelAPI
30   ${PROJECT_SOURCE_DIR}/src/ModelHighAPI
31 )
32
33 # Plugin headers dependency
34 INCLUDE_DIRECTORIES(
35   ${PROJECT_SOURCE_DIR}/src/GeomAPI
36   ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
37   ${PROJECT_SOURCE_DIR}/src/GeomDataAPI
38   ${PROJECT_SOURCE_DIR}/src/PrimitivesPlugin
39 )
40
41 ADD_DEFINITIONS(-DPRIMITIVESAPI_EXPORTS ${CAS_DEFINITIONS})
42 ADD_LIBRARY(PrimitivesAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
43 TARGET_LINK_LIBRARIES(PrimitivesAPI ${PROJECT_LIBRARIES})
44
45 # SWIG wrapper
46
47 INCLUDE(PythonAPI)
48
49 SET_SOURCE_FILES_PROPERTIES(PrimitivesAPI.i PROPERTIES CPLUSPLUS ON)
50 SET_SOURCE_FILES_PROPERTIES(PrimitivesAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
51
52 SET(SWIG_LINK_LIBRARIES
53   PrimitivesAPI
54   ModelHighAPI
55   ModelAPI
56   ${PYTHON_LIBRARIES}
57 )
58
59 SET(SWIG_MODULE_PrimitivesAPI_EXTRA_DEPS ${SWIG_MODULE_PrimitivesAPI_EXTRA_DEPS}
60   ${PROJECT_SOURCE_DIR}/src/ModelHighAPI/ModelHighAPI.i
61   doxyhelp.i
62   ${PROJECT_HEADERS}
63 )
64
65 SWIG_ADD_MODULE(PrimitivesAPI python PrimitivesAPI.i ${PROJECT_HEADERS})
66 SWIG_LINK_LIBRARIES(PrimitivesAPI ${SWIG_LINK_LIBRARIES})
67
68 IF(WIN32)
69   SET_TARGET_PROPERTIES(_PrimitivesAPI PROPERTIES DEBUG_OUTPUT_NAME _PrimitivesAPI_d)
70 ENDIF(WIN32)
71
72 INSTALL(TARGETS _PrimitivesAPI DESTINATION ${SHAPER_INSTALL_SWIG})
73 INSTALL(TARGETS PrimitivesAPI DESTINATION ${SHAPER_INSTALL_BIN})
74 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/PrimitivesAPI.py DESTINATION ${SHAPER_INSTALL_SWIG})