summaryrefslogtreecommitdiffstats
path: root/doxygen.cmake
blob: 63224759221eb967d5c63c1e2597c96bf3e3e99f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
FIND_PACKAGE(Doxygen)

IF(DOXYGEN_EXECUTABLE AND UNIX)
    ADD_CUSTOM_COMMAND(
        OUTPUT ${DOCUMENTATION_OUTPUT_PATH}
        COMMAND mkdir ${DOCUMENTATION_OUTPUT_PATH}
    )
    
    ADD_CUSTOM_COMMAND(
        OUTPUT ${DOCUMENTATION_OUTPUT_PATH}/Doxyfile
        COMMAND sed ${CMAKE_SOURCE_DIR}/Doxyfile -e 's!PROJECT_SOURCE_DIR!${PROJECT_SOURCE_DIR}!' -e 's!DOCUMENTATION_OUTPUT_PATH!${DOCUMENTATION_OUTPUT_PATH}!' > Doxyfile
        DEPENDS Doxyfile
        DEPENDS ${DOCUMENTATION_OUTPUT_PATH}
        WORKING_DIRECTORY ${DOCUMENTATION_OUTPUT_PATH}
    )
    
    ADD_CUSTOM_COMMAND(
        OUTPUT ${DOCUMENTATION_OUTPUT_PATH}/html
        COMMAND ${DOXYGEN_EXECUTABLE}
        DEPENDS ${DOCUMENTATION_OUTPUT_PATH}/Doxyfile
        WORKING_DIRECTORY ${DOCUMENTATION_OUTPUT_PATH}
    )
    
    ADD_CUSTOM_TARGET(doxygen
        ALL echo
        DEPENDS ${DOCUMENTATION_OUTPUT_PATH}/html
    )
    
    INSTALL(
        DIRECTORY ${DOCUMENTATION_OUTPUT_PATH}/html
        DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/${CMAKE_PROJECT_NAME}-${SIGEN_VERSION}
        COMPONENT documentation
    )
ENDIF(DOXYGEN_EXECUTABLE AND UNIX)