ApiDoxygen.cmake 1.14 KB
Newer Older
1
find_package(Doxygen)
2

3
4
set(OPENMM_GENERATE_API_DOCS OFF CACHE BOOL "Whether to create API documentation using Doxygen")
IF(DOXYGEN_FOUND)
5
6
    SET(DOXY_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile")

7
    CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in 
8
9
10
          ${DOXY_CONFIG}
          @ONLY )

11
12
13
14
15
16
17
18
19
20
21
    ADD_CUSTOM_COMMAND(
        OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/index.html"
        COMMAND ${DOXYGEN_EXECUTABLE} ${DOXY_CONFIG}
        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
        COMMENT "Generating API documentation using Doxygen"
        SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in") 
    ADD_CUSTOM_TARGET(DoxygenApiDocs 
        COMMAND ${DOXYGEN_EXECUTABLE} ${DOXY_CONFIG}
        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
        COMMENT "Generating API documentation using Doxygen"
        SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in") 
22
    FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/html/")
23
24
25
26
27
28
29

    IF(OPENMM_GENERATE_API_DOCS)
        INSTALL(DIRECTORY "${PROJECT_BINARY_DIR}/html/"
                DESTINATION "docs/api/")
    ENDIF(OPENMM_GENERATE_API_DOCS)
ELSE(DOXYGEN_FOUND)
ENDIF(DOXYGEN_FOUND)
30