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