## Reference Documentation
#
# If we have doxygen, create reference API documentation for units.
#
if(DOXYGEN_FOUND)
  file(MAKE_DIRECTORY "${units_BINARY_DIR}/doc/reference")
  configure_file(
    ${CMAKE_CURRENT_SOURCE_DIR}/units.doxyfile.in
    ${CMAKE_CURRENT_BINARY_DIR}/units.doxyfile
    @ONLY
  )

  add_custom_command(
    OUTPUT ${units_BINARY_DIR}/doc/reference/units.tags
    COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/units.doxyfile
    WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/reference"
    DEPENDS
      "${CMAKE_CURRENT_BINARY_DIR}/units.doxyfile"
    COMMENT "Generating units API documentation with Doxygen" VERBATIM
  )
  if (units_BUILD_DOCUMENTATION STREQUAL "always")
    add_custom_target(doc ALL
      DEPENDS ${units_BINARY_DIR}/doc/reference/units.tags
    )
  else()
    add_custom_target(doc
      DEPENDS ${units_BINARY_DIR}/doc/reference/units.tags
    )
  endif()
endif()
