Build: Avoid downloading mathjax during make doc

Project: http://git-wip-us.apache.org/repos/asf/incubator-madlib/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-madlib/commit/7be68936
Tree: http://git-wip-us.apache.org/repos/asf/incubator-madlib/tree/7be68936
Diff: http://git-wip-us.apache.org/repos/asf/incubator-madlib/diff/7be68936

Branch: refs/heads/latest_release
Commit: 7be68936f2cf09e44fd9a8ae3e893db73dc99b26
Parents: 8679cbd
Author: Rahul Iyer <ri...@apache.org>
Authored: Tue Mar 7 13:11:23 2017 -0800
Committer: Rahul Iyer <ri...@apache.org>
Committed: Wed Mar 15 11:08:51 2017 -0700

----------------------------------------------------------------------
 doc/CMakeLists.txt            | 54 +++++++++++++++++++++++++++-----------
 doc/etc/developer.doxyfile.in |  3 ++-
 doc/etc/user.doxyfile.in      | 28 +++++++++++++++++++-
 3 files changed, 67 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-madlib/blob/7be68936/doc/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index e92aab4..aa969dc 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -54,20 +54,40 @@ set(_DOXYGEN_INPUT_DEVELOPER
 )
 join_strings(DOXYGEN_INPUT_DEVELOPER " " "${_DOXYGEN_INPUT_DEVELOPER}")
 
-set(DOXYGEN_USE_MATHJAX NO CACHE BOOL "In user documentation, render LaTeX 
formulas using MathJax")
+if(NOT DEFINED DOXYGEN_USE_MATHJAX)
+    set(DOXYGEN_USE_MATHJAX YES CACHE BOOL
+        "In user documentation, render LaTeX formulas using MathJax")
+endif(NOT DEFINED DOXYGEN_USE_MATHJAX)
+
+if(DOXYGEN_USE_MATHJAX)
+    if(NOT DEFINED MATHJAX_DIR)
+        find_path(MATHJAX_DIR
+            NAMES MathJax.js
+            PATHS "$ENV{MATHJAX_DIR}" "/usr/share/javascript/mathjax/"
+            DOC "Path to local MathJax.js")
+    endif(NOT DEFINED MATHJAX_DIR)
+    if(MATHJAX_DIR)
+        set(MATHJAX_RELPATH_CONFIG "MATHJAX_RELPATH = ${MATHJAX_DIR}")
+        message(STATUS "Using local MathJax: " ${MATHJAX_DIR})
+    else(MATHJAX_DIR)
+        set(MATHJAX_RELPATH_CONFIG "")
+        message(STATUS "Using default web-based MathJax")
+    endif(MATHJAX_DIR)
+endif(DOXYGEN_USE_MATHJAX)
+
+# set(MATHJAX_INSTALLATION "${CMAKE_BINARY_DIR}/third_party/downloads/mathjax" 
CACHE PATH
+#     "Path to MathJax installation (used to clone MathJax repository; 
absolute or relative to \${CMAKE_BINARY_DIR}/doc)"
+# )
+# set(DOXYGEN_MATHJAX_RELPATH 
"${CMAKE_BINARY_DIR}/third_party/downloads/mathjax" CACHE STRING
+#     "Path to MathJax installation (used by Doxygen; absolute or relative to 
\${DOXYGEN_HTML_OUTPUT})"
+# )
+
 set(DOXYGEN_INCLUDE_PATH "\"${CMAKE_SOURCE_DIR}/src\" 
\"${CMAKE_SOURCE_DIR}/src/ports/postgres\"")
 
 # Note: Type PATH implies that the value is either a relative path to
 # ${CMAKE_CURRENT_BINARY_DIR} (and CMake generates the full path) or as an
 # absolute path. Therefore, paths not relative to ${CMAKE_CURRENT_BINARY_DIR}
 # must be of type STRING!
-
-set(MATHJAX_INSTALLATION "${CMAKE_BINARY_DIR}/third_party/downloads/mathjax" 
CACHE PATH
-    "Path to MathJax installation (used to clone MathJax repository; absolute 
or relative to \${CMAKE_BINARY_DIR}/doc)"
-)
-set(DOXYGEN_MATHJAX_RELPATH 
"${CMAKE_BINARY_DIR}/third_party/downloads/mathjax" CACHE STRING
-    "Path to MathJax installation (used by Doxygen; absolute or relative to 
\${DOXYGEN_HTML_OUTPUT})"
-)
 set(DOXYGEN_OUTPUT_DEVELOPER "${CMAKE_CURRENT_BINARY_DIR}/developer" CACHE PATH
     "Base path where the documentation generated by Doxygen will be put 
(abolsute or relative to \${CMAKE_BINARY_DIR}/doc/etc)"
 )
@@ -130,14 +150,16 @@ if(FLEX_FOUND AND BISON_FOUND AND DOXYGEN_FOUND)
 
 
 # -- Update MathJax 
------------------------------------------------------------
-
-    add_custom_target(update_mathjax
-        COMMAND bin/update_mathjax.sh
-        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
-    )
-    if(USE_MATHJAX)
-        set(_MATHJAX_DEPENDENCY_USER update_mathjax)
-    endif(USE_MATHJAX)
+# NOTE: Below has been disabled since Mathjax CDN is used to obtain the
+# appropriate files
+
+# add_custom_target(update_mathjax
+#     COMMAND bin/update_mathjax.sh
+#     WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+# )
+# if(DOXYGEN_USE_MATHJAX)
+#     set(_MATHJAX_DEPENDENCY_USER update_mathjax)
+# endif(DOXYGEN_USE_MATHJAX)
 
 
 # -- Run doxygen 
---------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-madlib/blob/7be68936/doc/etc/developer.doxyfile.in
----------------------------------------------------------------------
diff --git a/doc/etc/developer.doxyfile.in b/doc/etc/developer.doxyfile.in
index 2c9b11d..02558c9 100644
--- a/doc/etc/developer.doxyfile.in
+++ b/doc/etc/developer.doxyfile.in
@@ -1282,7 +1282,8 @@ MATHJAX_FORMAT         = HTML-CSS
 # However, it is strongly recommended to install a local
 # copy of MathJax from http://www.mathjax.org before deployment.
 
-MATHJAX_RELPATH        = @DOXYGEN_MATHJAX_RELPATH@
+# MATHJAX_RELPATH        = @DOXYGEN_MATHJAX_RELPATH@
+@MATHJAX_RELPATH_CONFIG@
 
 # The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
 # names that should be enabled during MathJax rendering.

http://git-wip-us.apache.org/repos/asf/incubator-madlib/blob/7be68936/doc/etc/user.doxyfile.in
----------------------------------------------------------------------
diff --git a/doc/etc/user.doxyfile.in b/doc/etc/user.doxyfile.in
index fc0648e..230aae8 100644
--- a/doc/etc/user.doxyfile.in
+++ b/doc/etc/user.doxyfile.in
@@ -127,12 +127,38 @@ INPUT                  = @DOXYGEN_INPUT_USER@
 # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
 # (see http://www.mathjax.org) which uses client side Javascript for the
 # rendering instead of using prerendered bitmaps. Use this if you do not
-# have LaTeX installed or if you want to formulas look prettier in the HTML
+# have LaTeX installed or if you want formulas to look prettier in the HTML
 # output. When enabled you also need to install MathJax separately and
 # configure the path to it using the MATHJAX_RELPATH option.
 
 USE_MATHJAX            = @DOXYGEN_USE_MATHJAX@
 
+# When MathJax is enabled you can set the default output format to be used for
+# the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and
+# SVG. The default value is HTML-CSS, which is slower, but has the best
+# compatibility.
+
+MATHJAX_FORMAT         = HTML-CSS
+
+# When MathJax is enabled you need to specify the location relative to the
+# HTML output directory using the MATHJAX_RELPATH option. The destination
+# directory should contain the MathJax.js script. For instance, if the mathjax
+# directory is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to
+# the MathJax Content Delivery Network so you can quickly see the result 
without
+# installing MathJax.
+# However, it is strongly recommended to install a local
+# copy of MathJax from http://www.mathjax.org before deployment.
+
+# MATHJAX_RELPATH        = @DOXYGEN_MATHJAX_RELPATH@
+@MATHJAX_RELPATH_CONFIG@
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
+# names that should be enabled during MathJax rendering.
+
+MATHJAX_EXTENSIONS     = TeX/AMSmath \
+                         TeX/AMSsymbols
+
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 #---------------------------------------------------------------------------

Reply via email to