[llvm] r189507 - [doxygen] Added support for doxygen external search.

Michael Gottesman mgottesman at apple.com
Wed Aug 28 13:28:35 PDT 2013


Author: mgottesman
Date: Wed Aug 28 15:28:35 2013
New Revision: 189507

URL: http://llvm.org/viewvc/llvm-project?rev=189507&view=rev
Log:
[doxygen] Added support for doxygen external search.

Modified:
    llvm/trunk/cmake/config-ix.cmake
    llvm/trunk/docs/CMakeLists.txt
    llvm/trunk/docs/Makefile
    llvm/trunk/docs/doxygen.cfg.in

Modified: llvm/trunk/cmake/config-ix.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/config-ix.cmake?rev=189507&r1=189506&r2=189507&view=diff
==============================================================================
--- llvm/trunk/cmake/config-ix.cmake (original)
+++ llvm/trunk/cmake/config-ix.cmake Wed Aug 28 15:28:35 2013
@@ -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.")

Modified: llvm/trunk/docs/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/CMakeLists.txt?rev=189507&r1=189506&r2=189507&view=diff
==============================================================================
--- llvm/trunk/docs/CMakeLists.txt (original)
+++ llvm/trunk/docs/CMakeLists.txt Wed Aug 28 15:28:35 2013
@@ -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)

Modified: llvm/trunk/docs/Makefile
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/Makefile?rev=189507&r1=189506&r2=189507&view=diff
==============================================================================
--- llvm/trunk/docs/Makefile (original)
+++ llvm/trunk/docs/Makefile Wed Aug 28 15:28:35 2013
@@ -19,7 +19,11 @@ $(PROJ_OBJ_DIR)/doxygen.cfg: doxygen.cfg
 	  -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

Modified: llvm/trunk/docs/doxygen.cfg.in
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/doxygen.cfg.in?rev=189507&r1=189506&r2=189507&view=diff
==============================================================================
--- llvm/trunk/docs/doxygen.cfg.in (original)
+++ llvm/trunk/docs/doxygen.cfg.in Wed Aug 28 15:28:35 2013
@@ -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





More information about the llvm-commits mailing list