blob: 20a1396c4877a28939992ad65e19bbd565b99926 [file] [log] [blame]
Michael Gottesman1ab6c6c2013-08-28 20:29:40 +00001
2if (DOXYGEN_FOUND)
3if (LLVM_ENABLE_DOXYGEN)
Michael Gottesman855baa62013-08-28 20:29:44 +00004 set(abs_srcdir ${CMAKE_CURRENT_SOURCE_DIR})
Michael Gottesman44d971c2013-08-28 21:55:41 +00005 set(abs_builddir ${CMAKE_CURRENT_BINARY_DIR})
Michael Gottesman1ab6c6c2013-08-28 20:29:40 +00006
7 if (HAVE_DOT)
8 set(DOT ${LLVM_PATH_DOT})
9 endif()
10
Michael Gottesman44d971c2013-08-28 21:55:41 +000011 if (LLVM_DOXYGEN_EXTERNAL_SEARCH)
12 set(enable_searchengine "YES")
13 set(searchengine_url "${LLVM_DOXYGEN_SEARCHENGINE_URL}")
14 set(enable_server_based_search "YES")
15 set(enable_external_search "YES")
16 set(extra_search_mappings "${LLVM_DOXYGEN_SEARCH_MAPPINGS}")
Michael Gottesman855baa62013-08-28 20:29:44 +000017 else()
Michael Gottesman44d971c2013-08-28 21:55:41 +000018 set(enable_searchengine "NO")
19 set(searchengine_url "")
20 set(enable_server_based_search "NO")
21 set(enable_external_search "NO")
22 set(extra_search_mappings "")
Michael Gottesman855baa62013-08-28 20:29:44 +000023 endif()
24
Stephen Hines651f13c2014-04-23 16:59:28 -070025 # If asked, configure doxygen for the creation of a Qt Compressed Help file.
26 if (LLVM_ENABLE_DOXYGEN_QT_HELP)
27 set(CLANG_DOXYGEN_QCH_FILENAME "org.llvm.clang.qch" CACHE STRING
28 "Filename of the Qt Compressed help file")
29 set(CLANG_DOXYGEN_QHP_NAMESPACE "org.llvm.clang" CACHE STRING
30 "Namespace under which the intermediate Qt Help Project file lives")
31 set(CLANG_DOXYGEN_QHP_CUST_FILTER_NAME "Clang ${CLANG_VERSION}" CACHE STRING
32 "See http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-filters")
33 set(CLANG_DOXYGEN_QHP_CUST_FILTER_ATTRS "Clang,${CLANG_VERSION}" CACHE STRING
34 "See http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes")
35 set(clang_doxygen_generate_qhp "YES")
36 set(clang_doxygen_qch_filename "${CLANG_DOXYGEN_QCH_FILENAME}")
37 set(clang_doxygen_qhp_namespace "${CLANG_DOXYGEN_QHP_NAMESPACE}")
38 set(clang_doxygen_qhelpgenerator_path "${LLVM_DOXYGEN_QHELPGENERATOR_PATH}")
39 set(clang_doxygen_qhp_cust_filter_name "${CLANG_DOXYGEN_QHP_CUST_FILTER_NAME}")
40 set(clang_doxygen_qhp_cust_filter_attrs "${CLANG_DOXYGEN_QHP_CUST_FILTER_ATTRS}")
41 else()
42 set(clang_doxygen_generate_qhp "NO")
43 set(clang_doxygen_qch_filename "")
44 set(clang_doxygen_qhp_namespace "")
45 set(clang_doxygen_qhelpgenerator_path "")
46 set(clang_doxygen_qhp_cust_filter_name "")
47 set(clang_doxygen_qhp_cust_filter_attrs "")
48 endif()
49
Michael Gottesman1ab6c6c2013-08-28 20:29:40 +000050 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
51 ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
Michael Gottesman44d971c2013-08-28 21:55:41 +000052
53 set(abs_top_srcdir)
54 set(abs_top_builddir)
Michael Gottesman1ab6c6c2013-08-28 20:29:40 +000055 set(DOT)
Michael Gottesman44d971c2013-08-28 21:55:41 +000056 set(enable_searchengine)
57 set(searchengine_url)
58 set(enable_server_based_search)
59 set(enable_external_search)
60 set(extra_search_mappings)
Stephen Hines651f13c2014-04-23 16:59:28 -070061 set(clang_doxygen_generate_qhp)
62 set(clang_doxygen_qch_filename)
63 set(clang_doxygen_qhp_namespace)
64 set(clang_doxygen_qhelpgenerator_path)
65 set(clang_doxygen_qhp_cust_filter_name)
66 set(clang_doxygen_qhp_cust_filter_attrs)
Michael Gottesman1ab6c6c2013-08-28 20:29:40 +000067
68 add_custom_target(doxygen-clang
69 COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg
70 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
71 COMMENT "Generating clang doxygen documentation." VERBATIM)
72
73 if (LLVM_BUILD_DOCS)
74 add_dependencies(doxygen doxygen-clang)
75 endif()
76
77 if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
78 install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doxygen/html
79 DESTINATION docs/html)
80 endif()
81endif()
82endif()
Stephen Hines6bcf27b2014-05-29 04:14:42 -070083
84if (LLVM_ENABLE_SPHINX)
85 if (SPHINX_FOUND)
86 include(AddSphinxTarget)
87 if (${SPHINX_OUTPUT_HTML})
88 add_sphinx_target(html clang)
89 endif()
90 endif()
91endif()