From 47e24d7100c2f4aea69956ae9361da1c4575b78d Mon Sep 17 00:00:00 2001 From: Michel Zou Date: Tue, 15 Jan 2013 16:17:42 +0100 Subject: [PATCH] Fixed doxygen docstring generation. --- bindings/CMakeLists.txt | 49 ++++++++++++++++++++++++----------------------- 1 files changed, 25 insertions(+), 24 deletions(-) diff --git a/bindings/CMakeLists.txt b/bindings/CMakeLists.txt index 8f14c1a..f177425 100644 --- a/bindings/CMakeLists.txt +++ b/bindings/CMakeLists.txt @@ -10,49 +10,50 @@ if(PYTHON_BINDINGS AND SWIG_FOUND AND PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND) INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH}) LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/../src) + swig_add_module ( ftdi1 python ftdi1.i ) + swig_link_libraries ( ftdi1 ftdi1 ) + + # do not link python modules on debian + # http://www.debian.org/doc/packaging-manuals/python-policy/ch-module_packages.html + if ( NOT UNIX OR ( UNIX AND NOT EXISTS "/etc/debian_version" ) ) + swig_link_libraries ( ftdi1 ${PYTHON_LIBRARIES} ) + endif () + + execute_process ( COMMAND ${PYTHON_EXECUTABLE} -c "import sys; print( '%d.%d' % ( sys.version_info[0], sys.version_info[1] ) )" + OUTPUT_VARIABLE PYTHON_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE ) + + set ( SITEPACKAGE lib${LIB_SUFFIX}/python${PYTHON_VERSION}/site-packages ) + + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/_ftdi1.so DESTINATION ${SITEPACKAGE}) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/ftdi1.py DESTINATION ${SITEPACKAGE}) + if(DOCUMENTATION AND DOXYGEN_FOUND) - set(SWIG_MODULE_ftdi1_EXTRA_DEPS ${CMAKE_CURRENT_BINARY_DIR}/ftdi1_doc.i) + set(CMAKE_SWIG_FLAGS -DDOXYGEN=${DOXYGEN_FOUND}) # Run doxygen to only generate the xml - add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/doc/xml/ftdi_8c.xml + add_custom_target ( doc_xml COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/doc COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/Doxyfile.xml WORKING_DIRECTORY ${CMAKE_BINARY_DIR} DEPENDS ${c_headers};${c_sources};${cpp_sources};${cpp_headers} ) - add_custom_target(doc_xml ALL DEPENDS ${CMAKE_BINARY_DIR}/doc/xml/ftdi_8c.xml) # generate .i from doxygen .xml - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ftdi1_doc.i + add_custom_target ( doc_i COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/doxy2swig.py -n ${CMAKE_BINARY_DIR}/doc/xml/ftdi_8c.xml ${CMAKE_CURRENT_BINARY_DIR}/ftdi1_doc.i - DEPENDS doc_xml ) - + add_dependencies( doc_i doc_xml ) + add_dependencies( ${SWIG_MODULE_ftdi1_REAL_NAME} doc_i ) + endif(DOCUMENTATION AND DOXYGEN_FOUND) - swig_add_module ( ftdi1 python ftdi1.i ) - swig_link_libraries ( ftdi1 ftdi1 ) - - # do not link python modules on debian - # http://www.debian.org/doc/packaging-manuals/python-policy/ch-module_packages.html - if ( NOT UNIX OR ( UNIX AND NOT EXISTS "/etc/debian_version" ) ) - swig_link_libraries ( ftdi1 ${PYTHON_LIBRARIES} ) - endif () - execute_process ( COMMAND ${PYTHON_EXECUTABLE} -c "import sys; print( '%d.%d' % ( sys.version_info[0], sys.version_info[1] ) )" - OUTPUT_VARIABLE PYTHON_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE ) - - set ( SITEPACKAGE lib${LIB_SUFFIX}/python${PYTHON_VERSION}/site-packages ) - - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/_ftdi1.so DESTINATION ${SITEPACKAGE}) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/ftdi1.py DESTINATION ${SITEPACKAGE}) + message(STATUS "Building python bindings via swig. Will be installed under ${CMAKE_INSTALL_PREFIX}/${SITEPACKAGE}") else(PYTHON_BINDINGS AND SWIG_FOUND AND PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND) message(STATUS "Not building python bindings") -- 1.7.1