[doxygen] Added support for doxygen external search.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189507 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Michael Gottesman 2013-08-28 20:28:35 +00:00
parent b7cb635907
commit 1800b662a0
4 changed files with 41 additions and 3 deletions

View File

@ -473,6 +473,8 @@ if (LLVM_ENABLE_DOXYGEN)
if (LLVM_BUILD_DOCS)
add_custom_target(doxygen ALL)
endif()
option(DOXYGEN_EXTERNAL_SEARCH "Enable doxygen external search." OFF)
set(DOXYGEN_SEARCH_MAPPINGS "" CACHE STRING "Doxygen Search Mappings")
endif()
else()
message(STATUS "Doxygen disabled.")

View File

@ -7,6 +7,31 @@ if (LLVM_ENABLE_DOXYGEN)
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 llvm)
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)

View File

@ -19,7 +19,11 @@ $(PROJ_OBJ_DIR)/doxygen.cfg: doxygen.cfg.in
-e 's/@abs_top_srcdir@/../g' \
-e 's/@DOT@/dot/g' \
-e 's/@PACKAGE_VERSION@/mainline/' \
-e 's/@abs_top_builddir@/../g' > $@
-e 's/@abs_top_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 $(LEVEL)/Makefile.common

View File

@ -1,3 +1,4 @@
# Doxyfile 1.7.1
# This file describes the settings to be used by the documentation system
@ -1068,7 +1069,7 @@ FORMULA_TRANSPARENT = YES
# typically be disabled. For large projects the javascript based search engine
# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
SEARCHENGINE = NO
SEARCHENGINE = @enable_searchengine@
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a PHP enabled web server instead of at the web client
@ -1078,7 +1079,13 @@ SEARCHENGINE = NO
# full text search. The disadvances is that it is more difficult to setup
# and does not have live searching capabilities.
SERVER_BASED_SEARCH = NO
SERVER_BASED_SEARCH = @enable_server_based_search@
EXTERNAL_SEARCH = @enable_external_search@
EXTERNAL_SEARCH_ID = llvm
EXTRA_SEARCH_MAPPINGS = @extra_search_mappings@
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output