1 | |
2 | if (DOXYGEN_FOUND) |
3 | if (LLVM_ENABLE_DOXYGEN) |
4 | set(abs_srcdir ${CMAKE_CURRENT_SOURCE_DIR}) |
5 | set(abs_builddir ${CMAKE_CURRENT_BINARY_DIR}) |
6 | |
7 | if (HAVE_DOT) |
8 | set(DOT ${LLVM_PATH_DOT}) |
9 | endif() |
10 | |
11 | 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}") |
17 | else() |
18 | 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 "") |
23 | endif() |
24 | |
25 | # 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 | |
50 | option(LLVM_DOXYGEN_SVG |
51 | "Use svg instead of png files for doxygen graphs." OFF) |
52 | if (LLVM_DOXYGEN_SVG) |
53 | set(DOT_IMAGE_FORMAT "svg") |
54 | else() |
55 | set(DOT_IMAGE_FORMAT "png") |
56 | endif() |
57 | |
58 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in |
59 | ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY) |
60 | |
61 | set(abs_top_srcdir) |
62 | set(abs_top_builddir) |
63 | set(DOT) |
64 | set(enable_searchengine) |
65 | set(searchengine_url) |
66 | set(enable_server_based_search) |
67 | set(enable_external_search) |
68 | set(extra_search_mappings) |
69 | set(clang_doxygen_generate_qhp) |
70 | set(clang_doxygen_qch_filename) |
71 | set(clang_doxygen_qhp_namespace) |
72 | set(clang_doxygen_qhelpgenerator_path) |
73 | set(clang_doxygen_qhp_cust_filter_name) |
74 | set(clang_doxygen_qhp_cust_filter_attrs) |
75 | set(DOT_IMAGE_FORMAT) |
76 | |
77 | add_custom_target(doxygen-clang |
78 | COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg |
79 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
80 | COMMENT "Generating clang doxygen documentation." VERBATIM) |
81 | |
82 | if (LLVM_BUILD_DOCS) |
83 | add_dependencies(doxygen doxygen-clang) |
84 | endif() |
85 | |
86 | if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) |
87 | install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doxygen/html |
88 | DESTINATION docs/html) |
89 | endif() |
90 | endif() |
91 | endif() |
92 | |
93 | if (LLVM_ENABLE_SPHINX) |
94 | include(AddSphinxTarget) |
95 | if (SPHINX_FOUND) |
96 | if (${SPHINX_OUTPUT_HTML}) |
97 | add_sphinx_target(html clang) |
98 | add_custom_command(TARGET docs-clang-html POST_BUILD |
99 | COMMAND ${CMAKE_COMMAND} -E copy |
100 | "${CMAKE_CURRENT_SOURCE_DIR}/LibASTMatchersReference.html" |
101 | "${CMAKE_CURRENT_BINARY_DIR}/html/LibASTMatchersReference.html") |
102 | endif() |
103 | if (${SPHINX_OUTPUT_MAN}) |
104 | add_sphinx_target(man clang) |
105 | endif() |
106 | endif() |
107 | endif() |
108 | |