From: Michael Gottesman Date: Wed, 28 Aug 2013 20:29:44 +0000 (+0000) Subject: [doxygen] Added support for doxygen external search. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=855baa6eaaca11b186daaf35242edb87acf32aed;p=clang [doxygen] Added support for doxygen external search. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189509 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index dee97ccd4c..4e4cf433a1 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -1,13 +1,38 @@ if (DOXYGEN_FOUND) if (LLVM_ENABLE_DOXYGEN) - set(abs_srcdir ${LLVM_MAIN_SRC_DIR}) + set(abs_srcdir ${CMAKE_CURRENT_SOURCE_DIR}) set(abs_builddir ${LLVM_BINARY_DIR}) if (HAVE_DOT) set(DOT ${LLVM_PATH_DOT}) endif() + if (DOXYGEN_EXTERNAL_SEARCH) + set(SEARCHENGINE "YES") + set(SERVER_BASED_SEARCH "YES") + set(EXTERNAL_SEARCH "YES") + + set(EXTRA_SEARCH_MAPPINGS "") + foreach(NameAndValue ${DOXYGEN_SEARCH_MAPPINGS}) + # Strip leading spaces + string(REGEX REPLACE "^[ ]+" "" NameAndValue ${NameAndValue}) + # Find variable name + string(REGEX MATCH "^[^=]+" Name ${NameAndValue}) + # Find the value + string(REPLACE "${Name}=" "" Value ${NameAndValue}) + # Set the variable + if (NOT ${Name} EQUALS clang) + set(EXTRA_SEARCH_MAPPINGS "${EXTRA_SEARCH_MAPPINGS} ${LLVM_BINARY_DIR}/${NameAndValue}") + endif() + endforeach() + else() + set(SEARCHENGINE "NO") + set(SERVER_BASED_SEARCH "NO") + set(EXTERNAL_SEARCH "NO") + set(EXTRA_SEARCH_MAPPINGS "") + endif() + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY) set(abs_srcdir) diff --git a/docs/Makefile b/docs/Makefile index 2608046f1f..0723ac986b 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -19,7 +19,11 @@ $(PROJ_OBJ_DIR)/doxygen.cfg: doxygen.cfg.in -e 's/@abs_srcdir@/./g' \ -e 's/@DOT@/dot/g' \ -e 's/@PACKAGE_VERSION@/mainline/' \ - -e 's/@abs_builddir@/./g' > $@ + -e 's/@abs_builddir@/./g' \ + -e 's/@enable_searchengine@/NO/g' \ + -e 's/@enable_server_based_search@/NO/g' \ + -e 's/@enable_external_search@/NO/g' \ + -e 's/@extra_search_mappings@/NO/g' > $@ endif include $(CLANG_LEVEL)/Makefile diff --git a/docs/doxygen.cfg.in b/docs/doxygen.cfg.in index ed9ffcb85a..497d4bfdf6 100644 --- a/docs/doxygen.cfg.in +++ b/docs/doxygen.cfg.in @@ -1227,4 +1227,10 @@ DOT_CLEANUP = YES # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. -SEARCHENGINE = NO +SEARCHENGINE = @enable_server_based_search@ + +EXTERNAL_SEARCH = @enable_external_search@ + +EXTERNAL_SEARCH_ID = clang + +EXTRA_SEARCH_MAPPINGS = @extra_search_mappings@