0fd97745b22e7ebb93d0b386b98ad52f62a594ab
[contrib/upm.git] / src / grove / CMakeLists.txt
1 set (libname "grove")
2 add_library (grove SHARED grove.cxx)
3 include_directories (${MAA_INCLUDE_DIR})
4 target_link_libraries (grove ${MAA_LIBRARIES})
5
6 if (SWIG_FOUND)
7   find_package (PythonLibs)
8
9   include_directories (
10     ${PYTHON_INCLUDE_PATH}
11     ${PYTHON_INCLUDE_DIRS}
12     ${MAA_INCLUDE_DIR}
13     .
14   )
15
16   set_source_files_properties (pyupm_grove.i PROPERTIES CPLUSPLUS ON)
17   set_source_files_properties (jsupm_grove.i PROPERTIES CPLUSPLUS ON)
18   set_source_files_properties (jsupm_grove.i PROPERTIES SWIG_FLAGS "-node")
19
20   swig_add_module (pyupm_grove python pyupm_grove.i grove.cxx)
21 #  swig_add_module (jsupm_grove javascript jsupm_grove.i grove.cxx)
22
23   swig_link_libraries (pyupm_grove ${PYTHON_LIBRARIES} ${MAA_LIBRARIES})
24 #  swig_link_libraries (jsupm_grove ${MAA_LIBRARIES})
25
26   if (DOXYGEN_FOUND)
27     set (CMAKE_SWIG_FLAGS -DDOXYGEN=${DOXYGEN_FOUND})
28     add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${libname}_doc.i
29       COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/../doxy2swig.py -n
30         ${CMAKE_BINARY_DIR}/xml/${libname}_8h.xml
31         ${CMAKE_CURRENT_BINARY_DIR}/${libname}_doc.i
32         DEPENDS ${CMAKE_BINARY_DIR}/xml/${libname}_8h.xml
33     )
34     add_custom_target (${libname}doc_i DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${libname}_doc.i)
35     add_dependencies (${libname}doc_i doc)
36     add_dependencies (${SWIG_MODULE_pyupm_grove_REAL_NAME} ${libname}doc_i)
37   endif ()
38
39 endif ()
40
41 install (TARGETS ${libname} DESTINATION lib/upm COMPONENT ${libname})
42 install (FILES grove.h DESTINATION include/upm COMPONENT ${libname})
43
44 cpack_add_component (${libname} DISPLAY_NAME ${libname} REQUIRED INSTALL_TYPES all)
45 set(CPACK_COMPONENT_${libname}_DESCRIPTION "libupm grove libary")