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