95 lines · plain
1 2find_package(Doxygen)3if (DOXYGEN_FOUND)4if (LLVM_ENABLE_DOXYGEN)5 set(abs_top_srcdir ${CMAKE_CURRENT_SOURCE_DIR})6 set(abs_top_builddir ${CMAKE_CURRENT_BINARY_DIR})7 8 if (HAVE_DOT)9 set(DOT ${LLVM_PATH_DOT})10 endif()11 12 if (LLVM_DOXYGEN_EXTERNAL_SEARCH)13 set(enable_searchengine "YES")14 set(searchengine_url "${LLVM_DOXYGEN_SEARCHENGINE_URL}")15 set(enable_server_based_search "YES")16 set(enable_external_search "YES")17 set(extra_search_mappings "${LLVM_DOXYGEN_SEARCH_MAPPINGS}")18 else()19 set(enable_searchengine "NO")20 set(searchengine_url "")21 set(enable_server_based_search "NO")22 set(enable_external_search "NO")23 set(extra_search_mappings "")24 endif()25 26 # If asked, configure doxygen for the creation of a Qt Compressed Help file.27 if (LLVM_ENABLE_DOXYGEN_QT_HELP)28 set(BOLT_DOXYGEN_QCH_FILENAME "org.llvm.bolt.qch" CACHE STRING29 "Filename of the Qt Compressed help file")30 set(BOLT_DOXYGEN_QHP_NAMESPACE "org.llvm.bolt" CACHE STRING31 "Namespace under which the intermediate Qt Help Project file lives")32 set(BOLT_DOXYGEN_QHP_CUST_FILTER_NAME "Clang ${BOLT_VERSION}" CACHE STRING33 "See http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-filters")34 set(BOLT_DOXYGEN_QHP_CUST_FILTER_ATTRS "Clang,${BOLT_VERSION}" CACHE STRING35 "See http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes")36 set(bolt_doxygen_generate_qhp "YES")37 set(bolt_doxygen_qch_filename "${BOLT_DOXYGEN_QCH_FILENAME}")38 set(bolt_doxygen_qhp_namespace "${BOLT_DOXYGEN_QHP_NAMESPACE}")39 set(bolt_doxygen_qhelpgenerator_path "${LLVM_DOXYGEN_QHELPGENERATOR_PATH}")40 set(bolt_doxygen_qhp_cust_filter_name "${BOLT_DOXYGEN_QHP_CUST_FILTER_NAME}")41 set(bolt_doxygen_qhp_cust_filter_attrs "${BOLT_DOXYGEN_QHP_CUST_FILTER_ATTRS}")42 else()43 set(bolt_doxygen_generate_qhp "NO")44 set(bolt_doxygen_qch_filename "")45 set(bolt_doxygen_qhp_namespace "")46 set(bolt_doxygen_qhelpgenerator_path "")47 set(bolt_doxygen_qhp_cust_filter_name "")48 set(bolt_doxygen_qhp_cust_filter_attrs "")49 endif()50 51 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in52 ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)53 54 set(abs_top_srcdir)55 set(abs_top_builddir)56 set(DOT)57 set(enable_searchengine)58 set(searchengine_url)59 set(enable_server_based_search)60 set(enable_external_search)61 set(extra_search_mappings)62 set(bolt_doxygen_generate_qhp)63 set(bolt_doxygen_qch_filename)64 set(bolt_doxygen_qhp_namespace)65 set(bolt_doxygen_qhelpgenerator_path)66 set(bolt_doxygen_qhp_cust_filter_name)67 set(bolt_doxygen_qhp_cust_filter_attrs)68 69 add_custom_target(doxygen-bolt70 COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg71 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}72 COMMENT "Generating bolt doxygen documentation." VERBATIM)73 set_target_properties(doxygen-bolt PROPERTIES FOLDER "BOLT/Docs")74 75 if (LLVM_BUILD_DOCS)76 add_dependencies(doxygen doxygen-bolt)77 endif()78 79 if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_DOCS)80 install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doxygen/html81 DESTINATION docs/html)82 endif()83endif()84endif()85 86if (LLVM_ENABLE_SPHINX)87 include(AddSphinxTarget)88 if (SPHINX_FOUND)89 if (${SPHINX_OUTPUT_HTML})90 add_sphinx_target(html bolt)91 endif()92 endif()93endif()94 95