2 ${PROJECT_SOURCE_DIR}/api
3 ${PROJECT_SOURCE_DIR}/api/mraa
4 ${PROJECT_SOURCE_DIR}/include
8 ${PROJECT_SOURCE_DIR}/src/mraa.c
9 ${PROJECT_SOURCE_DIR}/src/gpio/gpio.c
10 ${PROJECT_SOURCE_DIR}/src/i2c/i2c.c
11 ${PROJECT_SOURCE_DIR}/src/i2c/smbus.c
12 ${PROJECT_SOURCE_DIR}/src/pwm/pwm.c
13 ${PROJECT_SOURCE_DIR}/src/spi/spi.c
14 ${PROJECT_SOURCE_DIR}/src/aio/aio.c
15 ${PROJECT_SOURCE_DIR}/src/intel_galileo_rev_d.c
16 ${PROJECT_SOURCE_DIR}/src/intel_galileo_rev_g.c
17 # autogenerated version file
18 ${CMAKE_CURRENT_BINARY_DIR}/version.c
21 set (mraa_LIB_GLOB_HEADERS
22 ${PROJECT_SOURCE_DIR}/api/mraa.h
23 ${PROJECT_SOURCE_DIR}/api/mraa.hpp
26 add_library (mraa SHARED ${mraa_LIB_SRCS})
27 target_link_libraries (mraa ${CMAKE_THREAD_LIBS_INIT})
29 set_target_properties(
32 SOVERSION ${mraa_VERSION_MAJOR}
33 VERSION ${mraa_VERSION_STRING}
35 install (FILES ${mraa_LIB_GLOB_HEADERS} DESTINATION include/)
36 install (DIRECTORY ${PROJECT_SOURCE_DIR}/api/mraa/ DESTINATION include/mraa)
38 macro (mraa_CREATE_INSTALL_PKGCONFIG generated_file install_location)
39 configure_file (${generated_file}.cmake ${CMAKE_CURRENT_BINARY_DIR}/${generated_file} @ONLY)
40 install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${generated_file} DESTINATION ${install_location})
41 endmacro (mraa_CREATE_INSTALL_PKGCONFIG)
42 mraa_create_install_pkgconfig (mraa.pc lib${LIB_SUFFIX}/pkgconfig)
44 install (TARGETS mraa DESTINATION lib)
47 set (CMAKE_SWIG_FLAGS -DDOXYGEN=${DOXYGEN_FOUND})
48 set (DOCCLASSES aio gpio i2c pwm spi)
50 foreach (_file ${DOCCLASSES})
51 add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}_class_doc.i
52 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/doxy2swig.py -n
53 ${CMAKE_BINARY_DIR}/xml/classmraa_1_1_${_file}.xml
54 ${CMAKE_CURRENT_BINARY_DIR}/${_file}_class_doc.i
55 DEPENDS ${CMAKE_BINARY_DIR}/xml/classmraa_1_1_${_file}.xml
57 add_custom_target (${_file}class_doc_i DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_file}_class_doc.i)
58 add_dependencies (${_file}class_doc_i doc)
61 set (DOCFILES common ${DOCCLASSES})
62 foreach (_file ${DOCFILES})
63 add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}_doc.i
64 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/doxy2swig.py -n
65 ${CMAKE_BINARY_DIR}/xml/${_file}_8h.xml
66 ${CMAKE_CURRENT_BINARY_DIR}/${_file}_doc.i
67 DEPENDS ${CMAKE_BINARY_DIR}/xml/${_file}_8h.xml
69 add_custom_target (${_file}doc_i DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_file}_doc.i)
70 add_dependencies (${_file}doc_i doc)
73 add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/common_hpp_doc.i
74 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/doxy2swig.py -n
75 ${CMAKE_BINARY_DIR}/xml/common_8hpp.xml
76 ${CMAKE_CURRENT_BINARY_DIR}//common_hpp_doc.i
77 DEPENDS ${CMAKE_BINARY_DIR}/xml/common_8hpp.xml
79 add_custom_target (common_hpp_doc_i DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/common_hpp_doc.i)
80 add_dependencies (common_hpp_doc_i doc)
86 include (${SWIG_USE_FILE})
87 set_source_files_properties (mraa.i PROPERTIES SWIG_FLAGS "-I${CMAKE_BINARY_DIR}/src")
90 add_subdirectory (python)
93 add_subdirectory (javascript)