Salome HOME
c7fed3344dc890f37e76041b6286d00bfbcd7e2a
[modules/shaper.git] / src / ModelHighAPI / CMakeLists.txt
1 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 INCLUDE(Common)
4
5 SET(PROJECT_HEADERS
6   ModelHighAPI.h
7   ModelHighAPI_Double.h
8   ModelHighAPI_Interface.h
9   ModelHighAPI_Macro.h
10   ModelHighAPI_Selection.h
11 )
12
13 SET(PROJECT_SOURCES
14   ModelHighAPI_Double.cpp
15   ModelHighAPI_Interface.cpp
16   ModelHighAPI_Selection.cpp
17 )
18
19 SET(PROJECT_LIBRARIES
20   Config
21   Events
22   ModelAPI
23 )
24
25 ADD_DEFINITIONS(-DMODELHIGHAPI_EXPORTS)
26 ADD_LIBRARY(ModelHighAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
27 #TODO(spo): is it necessary?
28 SET_TARGET_PROPERTIES(ModelHighAPI PROPERTIES LINKER_LANGUAGE CXX)
29 TARGET_LINK_LIBRARIES(ModelHighAPI ${PROJECT_LIBRARIES})
30
31 # SWIG wrapper
32
33 INCLUDE(PythonAPI)
34
35 SET_SOURCE_FILES_PROPERTIES(ModelHighAPI.i PROPERTIES CPLUSPLUS ON)
36 SET_SOURCE_FILES_PROPERTIES(ModelHighAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
37
38 SET(SWIG_LINK_LIBRARIES
39   ModelHighAPI
40   ${PYTHON_LIBRARIES}
41 )
42
43 INCLUDE_DIRECTORIES(
44   ${PROJECT_SOURCE_DIR}/src/Events
45   ${PROJECT_SOURCE_DIR}/src/GeomAPI
46   ${PROJECT_SOURCE_DIR}/src/ModelAPI
47 )
48
49 set(SWIG_MODULE_ModelHighAPI_EXTRA_DEPS
50   doxyhelp.i
51   ${PROJECT_HEADERS}
52 )
53
54 SWIG_ADD_MODULE(ModelHighAPI python ModelHighAPI.i ${PROJECT_HEADERS})
55 SWIG_LINK_LIBRARIES(ModelHighAPI ${SWIG_LINK_LIBRARIES})
56
57 IF(WIN32)
58   SET_TARGET_PROPERTIES(_ModelHighAPI PROPERTIES DEBUG_OUTPUT_NAME _ModelHighAPI_d)
59 ENDIF(WIN32)
60
61 INSTALL(TARGETS _ModelHighAPI DESTINATION ${SHAPER_INSTALL_SWIG})
62 INSTALL(TARGETS ModelHighAPI DESTINATION ${SHAPER_INSTALL_BIN})
63 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/ModelHighAPI.py DESTINATION ${SHAPER_INSTALL_SWIG})
64
65 # Tests
66
67 INCLUDE(UnitTest)
68
69 ADD_UNIT_TESTS(
70   TestDouble.py
71 )
72
73 ADD_SUBDIRECTORY (Test)