diff --git a/CMakeLists.txt b/CMakeLists.txt index 14911ad..5a3f3d7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -115,46 +115,25 @@ add_custom_target(dist # Documentation - -option(DOCUMENTATION "Generate API documentation with Doxygen" ON) - - -find_package(Doxygen) -if(DOCUMENTATION AND DOXYGEN_FOUND) - - # Set variables - 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/{html,man} - COMMAND mkdir -p ${CMAKE_BINARY_DIR}/doc - DEPENDS ftdi1 ftdipp1 - ) - - # 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) - - message(STATUS "Generating API documentation with Doxygen") -else(DOCUMENTATION AND DOXYGEN_FOUND) - message(STATUS "Not generating API documentation") -endif(DOCUMENTATION AND DOXYGEN_FOUND) +find_package ( Doxygen ) +if ( DOXYGEN_FOUND ) + + # Configure Doxyfile + set ( top_srcdir ${CMAKE_SOURCE_DIR} ) + configure_file( ${CMAKE_SOURCE_DIR}/doc/Doxyfile.in ${CMAKE_BINARY_DIR}/Doxyfile ) + + # Run doxygen + add_custom_target ( docs + COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/doc/{html,man} + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/doc + COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/Doxyfile + COMMENT "Doxygen documentation generation" + ) + + message ( STATUS "Generating API documentation with Doxygen" ) +else ( DOXYGEN_FOUND ) + message ( STATUS "Not generating API documentation" ) +endif ( DOXYGEN_FOUND ) # PkgConfig set(prefix ${CMAKE_INSTALL_PREFIX}) diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index b5c45cc..7ccead3 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -51,7 +51,7 @@ PROJECT_LOGO = # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = +OUTPUT_DIRECTORY = doc # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output