Salome HOME
Add ModelHighAPI & ConstructionAPI pachages
[modules/shaper.git] / src / ConstructionAPI / CMakeLists.txt
1 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 INCLUDE(Common)
4 INCLUDE(UnitTest)
5
6 FIND_PACKAGE(SWIG REQUIRED)
7 INCLUDE(${SWIG_USE_FILE})
8 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
9
10
11 SET(PROJECT_HEADERS
12     ConstructionAPI.h
13     ConstructionAPI_Point.h
14 )
15
16 SET(PROJECT_SOURCES
17     ConstructionAPI_Point.cpp
18 )
19
20 SET(PROJECT_LIBRARIES
21     ModelAPI
22     ModelHighAPI
23 )
24
25 ADD_DEFINITIONS(-DCONSTRUCTIONAPI_EXPORTS ${CAS_DEFINITIONS})
26 ADD_LIBRARY(ConstructionAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
27
28 SET(CMAKE_SWIG_FLAGS "-Wall")
29
30 SET_SOURCE_FILES_PROPERTIES(ConstructionAPI.i PROPERTIES CPLUSPLUS ON)
31 SET_SOURCE_FILES_PROPERTIES(ConstructionAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
32
33 INCLUDE_DIRECTORIES(
34   ${PROJECT_SOURCE_DIR}/src/ModelAPI
35   ${PROJECT_SOURCE_DIR}/src/ModelHighAPI
36 )
37
38 TARGET_LINK_LIBRARIES(ConstructionAPI ${PROJECT_LIBRARIES})
39
40 SET(SWIG_SCRIPTS
41   ${CMAKE_CURRENT_BINARY_DIR}/ConstructionAPI.py
42 )
43
44 SET(SWIG_LINK_LIBRARIES
45   ConstructionAPI
46   ModelHighAPI
47   ModelAPI
48   ${PYTHON_LIBRARIES}
49 )
50
51 SET(SWIG_MODULE_ConstructionAPI_EXTRA_DEPS ${SWIG_MODULE_ConstructionAPI_EXTRA_DEPS}
52     ${PROJECT_SOURCE_DIR}/src/ModelHighAPI/ModelHighAPI.i)
53
54 SWIG_ADD_MODULE(ConstructionAPI python ConstructionAPI.i ${PROJECT_HEADERS})
55 SWIG_LINK_LIBRARIES(ConstructionAPI ${SWIG_LINK_LIBRARIES})
56
57 IF(WIN32)
58   SET_TARGET_PROPERTIES(_ConstructionAPI PROPERTIES DEBUG_OUTPUT_NAME _ConstructionAPI_d)
59 ENDIF(WIN32)
60
61 INSTALL(TARGETS _ConstructionAPI DESTINATION ${SHAPER_INSTALL_SWIG})
62 INSTALL(TARGETS ConstructionAPI DESTINATION ${SHAPER_INSTALL_BIN})
63 INSTALL(FILES ${SWIG_SCRIPTS} DESTINATION ${SHAPER_INSTALL_SWIG})
64
65 ADD_UNIT_TESTS(
66     TestPoint.py
67     )
68
69 ADD_SUBDIRECTORY (Test)