Private
Public Access
2
0

swig: use C++ generated class doc and include directly from maa.i

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
Brendan Le Foll
2014-05-30 10:28:21 +01:00
parent 4383eb787f
commit 28fc9f97c9
6 changed files with 28 additions and 18 deletions

View File

@@ -37,7 +37,18 @@ install (TARGETS maa DESTINATION lib)
if (DOXYGEN_FOUND)
set (CMAKE_SWIG_FLAGS -DDOXYGEN=${DOXYGEN_FOUND})
set (DOCFILES maa pwm i2c gpio aio spi)
set (DOCCLASSES aio gpio i2c pwm spi)
foreach (_file ${DOCCLASSES})
add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}_class_doc.i
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/doxy2swig.py -n
${CMAKE_BINARY_DIR}/xml/classmaa_1_1_${_file}.xml
${CMAKE_CURRENT_BINARY_DIR}/${_file}_class_doc.i
DEPENDS ${CMAKE_BINARY_DIR}/xml/classmaa_1_1_${_file}.xml
)
add_custom_target (${_file}class_doc_i DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_file}_class_doc.i)
add_dependencies (${_file}class_doc_i doc)
endforeach ()
set (DOCFILES maa ${DOCCLASSES})
foreach (_file ${DOCFILES})
add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}_doc.i
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/doxy2swig.py -n
@@ -54,6 +65,7 @@ if (BUILDSWIG)
find_package (SWIG)
if (SWIG_FOUND)
include (${SWIG_USE_FILE})
set_source_files_properties (maa.i PROPERTIES SWIG_FLAGS "-I${CMAKE_BINARY_DIR}/src")
if (BUILDSWIGPYTHON)
add_subdirectory (python)

View File

@@ -13,7 +13,8 @@ include_directories (
)
set (CMAKE_CXX_FLAGS -DBUILDING_NODE_EXTENSION)
set_source_files_properties (maajs.i PROPERTIES SWIG_FLAGS "-node")
# SWIG treats SWIG_FLAGS as a list and not a string so semicolon seperation is required
set_source_files_properties (maajs.i PROPERTIES SWIG_FLAGS "-node;-I${CMAKE_BINARY_DIR}/src")
set_source_files_properties (maajs.i PROPERTIES CPLUSPLUS ON)
swig_add_module (maajs javascript maajs.i ${maa_LIB_SRCS})

View File

@@ -2,11 +2,4 @@
%feature("autodoc", "3");
#ifdef DOXYGEN
%include ../maa_doc.i
%include ../gpio_doc.i
%include ../i2c_doc.i
%include ../pwm_doc.i
#endif
%include ../maa.i

View File

@@ -1,3 +1,12 @@
#ifdef DOXYGEN
%include maa_doc.i
%include gpio_class_doc.i
%include i2c_class_doc.i
%include pwm_class_doc.i
%include aio_class_doc.i
%include spi_class_doc.i
#endif
%{
#include "maa.h"
#include "gpio.hpp"

View File

@@ -7,15 +7,17 @@ include_directories(
)
set_source_files_properties (pymaa.i PROPERTIES CPLUSPLUS ON)
set_source_files_properties (pymaa.i PROPERTIES SWIG_FLAGS "-I${CMAKE_BINARY_DIR}/src")
swig_add_module (pymaa python pymaa.i ${maa_LIB_SRCS})
swig_link_libraries (pymaa ${PYTHON_LIBRARIES})
set (CMAKE_C_FLAGS -DSWIGPYTHON=${SWIG_FOUND})
if (DOXYGEN_FOUND)
foreach (_file ${DOCFILES})
add_dependencies (${SWIG_MODULE_pymaa_REAL_NAME} ${_file}doc_i)
foreach (_file ${DOCCLASSES})
add_dependencies (${SWIG_MODULE_pymaa_REAL_NAME} ${_file}class_doc_i)
endforeach ()
add_dependencies (${SWIG_MODULE_pymaa_REAL_NAME} maadoc_i)
add_custom_target (pydoc
pydoc -w ${CMAKE_CURRENT_BINARY_DIR}/pymaa.py ${CMAKE_CURRENT_BINARY_DIR}/

View File

@@ -2,12 +2,5 @@
%feature("autodoc", "3");
#ifdef DOXYGEN
%include ../maa_doc.i
%include ../gpio_doc.i
%include ../i2c_doc.i
%include ../pwm_doc.i
#endif
%include ../maa.i