set (maa_VERSION_PATCH ${VERSION_PATCH})
set (maa_VERSION_STRING ${maa_VERSION_MAJOR}.${maa_VERSION_MINOR}.${maa_VERSION_PATCH})
-set (SWIG_EXECUTABLE /usr/bin/swig)
-find_package (SWIG REQUIRED)
-include (${SWIG_USE_FILE})
-
set (CMAKE_SWIG_FLAGS "")
option (test "Build all tests." OFF)
install (FILES ${maa_LIB_HEADERS} DESTINATION include/maa)
install (FILES ${maa_LIB_KERNEL} DESTINATION include/maa/linux)
-macro(maa_CREATE_INSTALL_PKGCONFIG generated_file install_location)
- configure_file(${generated_file}.cmake ${CMAKE_CURRENT_BINARY_DIR}/${generated_file} @ONLY)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${generated_file} DESTINATION ${install_location})
-endmacro(maa_CREATE_INSTALL_PKGCONFIG)
-maa_create_install_pkgconfig(maa.pc lib${LIB_SUFFIX}/pkgconfig)
+macro (maa_CREATE_INSTALL_PKGCONFIG generated_file install_location)
+ configure_file (${generated_file}.cmake ${CMAKE_CURRENT_BINARY_DIR}/${generated_file} @ONLY)
+ install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${generated_file} DESTINATION ${install_location})
+endmacro (maa_CREATE_INSTALL_PKGCONFIG)
+maa_create_install_pkgconfig (maa.pc lib${LIB_SUFFIX}/pkgconfig)
install (TARGETS maa DESTINATION lib)
-add_subdirectory (python)
-add_subdirectory (javascript)
+if (DOXYGEN_FOUND)
+ set (CMAKE_SWIG_FLAGS -DDOXYGEN=${DOXYGEN_FOUND})
+ set (DOCFILES maa pwm i2c gpio)
+ foreach (_file ${DOCFILES})
+ add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}_doc.i
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/doxy2swig.py -n
+ ${CMAKE_BINARY_DIR}/xml/${_file}_8h.xml
+ ${CMAKE_CURRENT_BINARY_DIR}/${_file}_doc.i
+ DEPENDS ${CMAKE_BINARY_DIR}/xml/${_file}_8h.xml
+ )
+ add_custom_target (${_file}doc_i DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_file}_doc.i)
+ add_dependencies (${_file}doc_i doc)
+ endforeach ()
+endif ()
+
+find_package (SWIG)
+if (SWIG_FOUND)
+ include (${SWIG_USE_FILE})
+
+ add_subdirectory (python)
+ add_subdirectory (javascript)
+endif ()
-FIND_PATH(NODE_ROOT_DIR "node/node.h")
+find_path (NODE_ROOT_DIR "node/node.h")
-set(NODE_INCLUDE_DIRS
+set (NODE_INCLUDE_DIRS
${NODE_ROOT_DIR}/src
${NODE_ROOT_DIR}/node
${NODE_ROOT_DIR}/deps/v8/include
${NODE_ROOT_DIR}/deps/uv/include
)
-include_directories(
+include_directories (
${NODE_INCLUDE_DIRS}
/usr/include/node
${CMAKE_CURRENT_SOURCE_DIR}/..
)
-SET_SOURCE_FILES_PROPERTIES(maajs.i PROPERTIES SWIG_FLAGS "-node")
-SET_SOURCE_FILES_PROPERTIES(maajs.i PROPERTIES CPLUSPLUS ON)
+set_source_files_properties (maajs.i PROPERTIES SWIG_FLAGS "-node")
+set_source_files_properties (maajs.i PROPERTIES CPLUSPLUS ON)
-SWIG_ADD_MODULE(maajs javascript maajs.i ${maa_LIB_SRCS})
-SWIG_LINK_LIBRARIES(maajs ${NODE_LIBRARIES})
+swig_add_module (maajs javascript maajs.i ${maa_LIB_SRCS})
+swig_link_libraries (maajs ${NODE_LIBRARIES})
-set_target_properties(maajs PROPERTIES
+if (DOXYGEN_FOUND)
+ foreach (_file ${DOCFILES})
+ add_dependencies (${SWIG_MODULE_maajs_REAL_NAME} ${_file}doc_i)
+ endforeach ()
+endif ()
+
+set_target_properties (maajs PROPERTIES
PREFIX ""
SUFFIX ".node"
)
-%module maajs
+%module (docstring="Javascript interface to libmaa") maajs
%{
#include "maa.h"
%}
%include <node.i>
+%rename("%(strip:[maa_])s") "";
+
+%feature("autodoc", "1");
+
+#ifdef DOXYGEN
+%include ../maa_doc.i
+%include ../gpio_doc.i
+%include ../i2c_doc.i
+%include ../pwm_doc.i
+#endif
+
%include ../maa.i
${PYTHON_INCLUDE_DIRS}
)
-if (DOXYGEN_FOUND)
- set (CMAKE_SWIG_FLAGS -DDOXYGEN=${DOXYGEN_FOUND})
-endif ()
-
swig_add_module (pymaa python pymaa.i ${maa_LIB_SRCS})
swig_link_libraries (pymaa ${PYTHON_LIBRARIES})
if (DOXYGEN_FOUND)
- set (DOCFILES maa pwm i2c gpio)
foreach (_file ${DOCFILES})
- add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}_doc.i
- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/doxy2swig.py -n
- ${CMAKE_BINARY_DIR}/xml/${_file}_8h.xml
- ${CMAKE_CURRENT_BINARY_DIR}/${_file}_doc.i
- DEPENDS ${CMAKE_BINARY_DIR}/xml/${_file}_8h.xml
- )
-
- add_custom_target (${_file}doc_i DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_file}_doc.i)
add_dependencies (${SWIG_MODULE_pymaa_REAL_NAME} ${_file}doc_i)
endforeach ()
%feature("autodoc", "1");
#ifdef DOXYGEN
-%include maa_doc.i
-%include gpio_doc.i
-%include i2c_doc.i
-%include pwm_doc.i
+%include ../maa_doc.i
+%include ../gpio_doc.i
+%include ../i2c_doc.i
+%include ../pwm_doc.i
#endif
%include ../maa.i