3 if (LLVM_ENABLE_DOXYGEN)
4 set(abs_top_srcdir ${LLVM_MAIN_SRC_DIR})
5 set(abs_top_builddir ${LLVM_BINARY_DIR})
8 set(DOT ${LLVM_PATH_DOT})
11 if (DOXYGEN_EXTERNAL_SEARCH)
12 set(SEARCHENGINE "YES")
13 set(SERVER_BASED_SEARCH "YES")
14 set(EXTERNAL_SEARCH "YES")
16 set(EXTRA_SEARCH_MAPPINGS "")
17 foreach(NameAndValue ${DOXYGEN_SEARCH_MAPPINGS})
18 # Strip leading spaces
19 string(REGEX REPLACE "^[ ]+" "" NameAndValue ${NameAndValue})
21 string(REGEX MATCH "^[^=]+" Name ${NameAndValue})
23 string(REPLACE "${Name}=" "" Value ${NameAndValue})
25 if (NOT ${Name} EQUALS llvm)
26 set(EXTRA_SEARCH_MAPPINGS "${EXTRA_SEARCH_MAPPINGS} ${LLVM_BINARY_DIR}/${NameAndValue}")
30 set(SEARCHENGINE "NO")
31 set(SERVER_BASED_SEARCH "NO")
32 set(EXTERNAL_SEARCH "NO")
33 set(EXTRA_SEARCH_MAPPINGS "")
36 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
37 ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
42 add_custom_target(doxygen-llvm
43 COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg
44 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
45 COMMENT "Generating llvm doxygen documentation." VERBATIM)
48 add_dependencies(doxygen doxygen-llvm)
51 if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
52 install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doxygen/html
53 DESTINATION docs/html)