Salome HOME
Added CPP High API for BuildPlugin_Face
[modules/shaper.git] / src / BuildAPI / CMakeLists.txt
1 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 INCLUDE(Common)
4
5 SET(PROJECT_HEADERS
6   BuildAPI.h
7   BuildAPI_Edge.h
8   BuildAPI_Face.h
9   BuildAPI_Vertex.h
10   BuildAPI_Wire.h
11 )
12
13 SET(PROJECT_SOURCES
14   BuildAPI_Edge.cpp
15   BuildAPI_Face.cpp
16   BuildAPI_Vertex.cpp
17   BuildAPI_Wire.cpp
18 )
19
20 SET(PROJECT_LIBRARIES
21   ModelAPI
22   ModelHighAPI
23 )
24
25 INCLUDE_DIRECTORIES(
26   ${PROJECT_SOURCE_DIR}/src/Events
27   ${PROJECT_SOURCE_DIR}/src/ModelAPI
28   ${PROJECT_SOURCE_DIR}/src/ModelHighAPI
29 )
30
31 # Plugin headers dependency
32 INCLUDE_DIRECTORIES(
33   ${PROJECT_SOURCE_DIR}/src/GeomAPI
34   ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
35   ${PROJECT_SOURCE_DIR}/src/GeomDataAPI
36   ${PROJECT_SOURCE_DIR}/src/BuildPlugin
37 )
38
39 #TODO(spo): is ${CAS_DEFINITIONS} necessary?
40 ADD_DEFINITIONS(-DBUILDAPI_EXPORTS ${CAS_DEFINITIONS})
41 ADD_LIBRARY(BuildAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
42 TARGET_LINK_LIBRARIES(BuildAPI ${PROJECT_LIBRARIES})
43
44 # SWIG wrapper
45
46 INCLUDE(PythonAPI)
47
48 SET_SOURCE_FILES_PROPERTIES(BuildAPI.i PROPERTIES CPLUSPLUS ON)
49 SET_SOURCE_FILES_PROPERTIES(BuildAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
50
51 #TODO(spo): is ModelAPI necessary or it could be received by INTERFACE_ (may require modern CMake)?
52 SET(SWIG_LINK_LIBRARIES
53   BuildAPI
54   ModelHighAPI
55   ModelAPI
56   ${PYTHON_LIBRARIES}
57 )
58
59 SET(SWIG_MODULE_BuildAPI_EXTRA_DEPS ${SWIG_MODULE_BuildAPI_EXTRA_DEPS}
60   ${PROJECT_SOURCE_DIR}/src/ModelHighAPI/ModelHighAPI.i
61   doxyhelp.i
62   ${PROJECT_HEADERS}
63 )
64
65 SWIG_ADD_MODULE(BuildAPI python BuildAPI.i ${PROJECT_HEADERS})
66 SWIG_LINK_LIBRARIES(BuildAPI ${SWIG_LINK_LIBRARIES})
67
68 IF(WIN32)
69   SET_TARGET_PROPERTIES(_BuildAPI PROPERTIES DEBUG_OUTPUT_NAME _BuildAPI_d)
70 ENDIF(WIN32)
71
72 INSTALL(TARGETS _BuildAPI DESTINATION ${SHAPER_INSTALL_SWIG})
73 INSTALL(TARGETS BuildAPI DESTINATION ${SHAPER_INSTALL_BIN})
74 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/BuildAPI.py DESTINATION ${SHAPER_INSTALL_SWIG})
75
76 # Tests
77 INCLUDE(UnitTest)
78
79 ADD_UNIT_TESTS(
80 )
81
82 # ADD_SUBDIRECTORY (Test)