From a93451504b6fed767c8f668b04667a04d35e1ae5 Mon Sep 17 00:00:00 2001 From: Thomas Jarosch Date: Tue, 17 Mar 2009 23:11:27 +0100 Subject: [PATCH] Always build doxygen documentation. Stored output in doc/ subdirectory. Only rebuild documentation if really needed --- CMakeLists.txt | 59 +++++++++++++++++++++++++++++++++++++------------------- src/ftdi.h | 2 +- 2 files changed, 40 insertions(+), 21 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a0baff..e61731a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,26 +38,6 @@ set(CPACK_COMPONENT_SHAREDLIBS_GROUP "Development") set(CPACK_COMPONENT_STATICLIBS_GROUP "Development") set(CPACK_COMPONENT_HEADERS_GROUP "Development") -# Documentation -find_package(Doxygen) -if(DOXYGEN_FOUND) - - # Set variables - set(PACKAGE libftdi) - set(VERSION ${VERSION_STRING}) - set(top_srcdir ${CMAKE_SOURCE_DIR}) - - # Find doxy config - message(STATUS "Doxygen found.") - set(DOXY_DIR "${CMAKE_SOURCE_DIR}/doc") - set(DOXY_CONFIG "${DOXY_DIR}/Doxyfile.in") - - # Copy doxy.config.in - configure_file("${DOXY_CONFIG}" "${CMAKE_BINARY_DIR}/doxy.config") - add_custom_target(doc "${DOXYGEN_EXECUTABLE}" "doxy.config") - -endif(DOXYGEN_FOUND) - # Package information set(CPACK_PACKAGE_VERSION ${VERSION_STRING}) set(CPACK_PACKAGE_CONTACT "Marek Vavrusa ") @@ -99,6 +79,45 @@ add_subdirectory(ftdipp) add_subdirectory(examples) add_subdirectory(packages) + + +# Documentation +find_package(Doxygen) +if(DOXYGEN_FOUND) + + # Set variables + set(PACKAGE libftdi) + set(VERSION ${VERSION_STRING}) + set(top_srcdir ${CMAKE_SOURCE_DIR}) + + # Find doxy config + message(STATUS "Doxygen found.") + set(DOXY_DIR "${CMAKE_SOURCE_DIR}/doc") + set(DOXY_CONFIG "${DOXY_DIR}/Doxyfile.in") + + # Copy doxy.config.in + configure_file("${DOXY_CONFIG}" "${CMAKE_BINARY_DIR}/doxy.config") + + # Create doc directory + add_custom_command( + OUTPUT ${CMAKE_BINARY_DIR}/doc + COMMAND rm -rf ${CMAKE_BINARY_DIR}/doc + COMMAND mkdir ${CMAKE_BINARY_DIR}/doc + DEPENDS ftdi ftdipp + ) + + # Run doxygen + add_custom_command( + OUTPUT ${CMAKE_BINARY_DIR}/doc/html/index.html + COMMAND ${DOXYGEN_EXECUTABLE} "${CMAKE_BINARY_DIR}/doxy.config" + DEPENDS "${CMAKE_BINARY_DIR}/doxy.config" "${CMAKE_BINARY_DIR}/doc" + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/doc + ) + + add_custom_target(docs ALL DEPENDS ${CMAKE_BINARY_DIR}/doc/html/index.html) + +endif(DOXYGEN_FOUND) + # PkgConfig set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin) diff --git a/src/ftdi.h b/src/ftdi.h index 46032e7..937d15d 100644 --- a/src/ftdi.h +++ b/src/ftdi.h @@ -346,7 +346,7 @@ extern "C" int ftdi_erase_eeprom(struct ftdi_context *ftdi); char *ftdi_get_error_string(struct ftdi_context *ftdi); - + #ifdef __cplusplus } #endif -- 1.7.1