| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- find_program(HAVE_DOXYGEN doxygen)
- if(NOT HAVE_DOXYGEN)
- message(FATAL_ERROR "*****************************************************
- Doxygen not found.
- Install it, or configure with -DBUILD_DOC=OFF
- *****************************************************"
- )
- endif()
- set(PQXXVERSION "${CMAKE_PROJECT_VERSION}")
- set(top_srcdir "${PROJECT_SOURCE_DIR}")
- set(PQXX_ABI "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
- set(PQXX_MAJOR "${PROJECT_VERSION_MAJOR}")
- set(PQXX_MINOR "${PROJECT_VERSION_MINOR}")
- find_program(HAVE_DOT dot)
- if(HAVE_DOT)
- set(HAVE_DOT YES)
- else()
- set(HAVE_DOT NO)
- endif()
- configure_file(Doxyfile.in Doxyfile)
- if(HAVE_DOXYGEN)
- file(
- GLOB DOXYGEN_SOURCES
- "${PROJECT_SOURCE_DIR}/include/pqxx/*.hxx"
- "${PROJECT_SOURCE_DIR}/include/pqxx/doc/*.md"
- "${PROJECT_SOURCE_DIR}/*.cxx"
- )
- set(DOXYGEN_STAMP_FILE "${CMAKE_CURRENT_BINARY_DIR}/doxygen.stamp")
- add_custom_command(OUTPUT ${DOXYGEN_STAMP_FILE}
- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/html
- COMMAND doxygen Doxyfile
- COMMAND ${CMAKE_COMMAND} -E touch ${DOXYGEN_STAMP_FILE}
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile ${DOXYGEN_SOURCES}
- COMMENT "Generate API documentation"
- VERBATIM
- )
- add_custom_target(doxygen ALL
- DEPENDS ${DOXYGEN_STAMP_FILE}
- SOURCES ${DOXYGEN_SOURCES}
- )
- install(
- DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR}/html
- )
- endif()
|