6
find_program(DOT_EXECUTABLE dot /usr/bin)
7
find_program(DOXYQML_EXECUTABLE doxyqml /usr/bin)
8
if (NOT DOXYGEN_FOUND OR NOT DOT_EXECUTABLE OR NOT DOXYQML_EXECUTABLE)
9
message(WARNING "Cannot generate documentation: doxygen, doxyqml and/or graphviz not found")
11
file(GLOB_RECURSE DOC_FILES
12
${CMAKE_BINARY_DIR}/include/*.h
13
${CMAKE_SOURCE_DIR}/include/*.h
14
${CMAKE_SOURCE_DIR}/src/*.h
15
${CMAKE_SOURCE_DIR}/src/*.cpp
16
${CMAKE_SOURCE_DIR}/plugins/*.h
17
${CMAKE_SOURCE_DIR}/plugins/*.cpp
18
${CMAKE_SOURCE_DIR}/qml/*.qml
19
${CMAKE_SOURCE_DIR}/qml/*.js
20
${CMAKE_SOURCE_DIR}/tests/autopilot/*.py
21
${CMAKE_SOURCE_DIR}/tests/utils/*.h
22
${CMAKE_SOURCE_DIR}/tests/utils/*.cpp
23
${CMAKE_SOURCE_DIR}/tests/utils/*.qml
24
${CMAKE_SOURCE_DIR}/tests/utils/*.js
25
${CMAKE_SOURCE_DIR}/tests/autopilot/unity8/shell/emulators/*.py
26
${CMAKE_SOURCE_DIR}/tests/autopilot/unity8/process_helpers.py)
28
string(REPLACE ";" " " DOXYGEN_INPUT "${DOC_FILES}")
30
configure_file(${PROJECT_SOURCE_DIR}/doc/Doxyfile.in ${PROJECT_BINARY_DIR}/doc/Doxyfile @ONLY IMMEDIATE)
31
add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/doc/${PROJECT_NAME}/index.html
32
COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/doc/Doxyfile
33
DEPENDS ${PROJECT_BINARY_DIR}/doc/Doxyfile ${DOC_FILES})
34
add_custom_target(doc DEPENDS ${PROJECT_BINARY_DIR}/doc/${PROJECT_NAME}/index.html)
35
install(DIRECTORY ${PROJECT_BINARY_DIR}/doc/${PROJECT_NAME}
36
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc