summaryrefslogtreecommitdiffstats
path: root/clang/docs/CMakeLists.txt
diff options
context:
space:
mode:
authorMichael Gottesman <mgottesman@apple.com>2013-08-28 20:29:44 +0000
committerMichael Gottesman <mgottesman@apple.com>2013-08-28 20:29:44 +0000
commit22a351d314c88b0aa181fc2444e8b41328a96955 (patch)
tree29dc34b51797bf4d3acb93938359abd3698c7706 /clang/docs/CMakeLists.txt
parent8f897af39c3dca2451e8e477e3443baee9801aff (diff)
downloadbcm5719-llvm-22a351d314c88b0aa181fc2444e8b41328a96955.tar.gz
bcm5719-llvm-22a351d314c88b0aa181fc2444e8b41328a96955.zip
[doxygen] Added support for doxygen external search.
llvm-svn: 189509
Diffstat (limited to 'clang/docs/CMakeLists.txt')
-rw-r--r--clang/docs/CMakeLists.txt27
1 files changed, 26 insertions, 1 deletions
diff --git a/clang/docs/CMakeLists.txt b/clang/docs/CMakeLists.txt
index dee97ccd4c2..4e4cf433a18 100644
--- a/clang/docs/CMakeLists.txt
+++ b/clang/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)
OpenPOWER on IntegriCloud