Skip to content

Commit

Permalink
[doxygen] Added support for doxygen external search.
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189507 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
gottesmm committed Aug 28, 2013
1 parent b7cb635 commit 1800b66
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 3 deletions.
2 changes: 2 additions & 0 deletions cmake/config-ix.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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.")
Expand Down
25 changes: 25 additions & 0 deletions docs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
6 changes: 5 additions & 1 deletion docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
11 changes: 9 additions & 2 deletions docs/doxygen.cfg.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

# Doxyfile 1.7.1

# This file describes the settings to be used by the documentation system
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down

0 comments on commit 1800b66

Please sign in to comment.