summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorjapm48 <japm48@users.noreply.github.com>2020-05-05 07:49:06 +0200
committerMarcus Müller <marcus@hostalia.de>2020-10-29 00:07:07 +0100
commit2025e70872dcbfa0039ec000ea11d98d34d6cf70 (patch)
tree3836191942c588ce3e843b002772abe36c1f6d53 /cmake
parent9a83abb5aa0f7398009f3c3b7944dd73d289c12a (diff)
docs: use MathJax for HTML documentation
Fixes #2707. A full LaTeX installation is no longer required for generating the HTML docs. Also adds some nice-to-have functionalities accessible via right-click context menu. Details: - SVG backend selected by default. - MathJax recommends not (ab)using their CDN, so this adds a local dependency. - Some spurious doxygen warnings were also removed.
Diffstat (limited to 'cmake')
-rw-r--r--cmake/Modules/FindMathJax2.cmake60
1 files changed, 60 insertions, 0 deletions
diff --git a/cmake/Modules/FindMathJax2.cmake b/cmake/Modules/FindMathJax2.cmake
new file mode 100644
index 0000000000..8f61012222
--- /dev/null
+++ b/cmake/Modules/FindMathJax2.cmake
@@ -0,0 +1,60 @@
+# Copyright 2020 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+#####
+#
+# Find MathJax package (version 2).
+#
+# A hint can be provided by defining MATHJAX2_ROOT
+# (will succeed if ${MATHJAX2_ROOT}/MathJax.js is found).
+#
+# Alternatively, a path can be provided in MATHJAX2_USE_ROOT
+# so that ${MATHJAX2_USE_ROOT}/MathJax.js is used without
+# checking its existence.
+# This path could be a URL, an absolute local path or
+# a path relative to the generated HTML folder.
+#
+# Note that version 2 and 3 are incompatible
+# and doxygen requires version 2.
+# See: https://github.com/doxygen/doxygen/issues/7346
+#
+# Defined variables:
+# - MATHJAX2_FOUND - True if MathJax found
+# - MATHJAX2_JS_PATH - Path to MathJax.js file
+# - MATHJAX2_PATH - Path to the MathJax root directory
+#
+#####
+
+
+# TODO: in cmake 3.10+ use include_guard()
+if(__INCLUDED_MATHJAX2)
+ return()
+endif()
+set(__INCLUDED_MATHJAX2 TRUE)
+
+
+if(DEFINED MATHJAX2_USE_ROOT)
+ set(MATHJAX2_FOUND TRUE)
+ set(MATHJAX2_PATH "${MATHJAX2_USE_ROOT}/")
+ set(MATHJAX2_JS_PATH "${MATHJAX2_USE_ROOT}/MathJax.js")
+else()
+ find_file(MATHJAX2_JS_PATH
+ NAMES
+ MathJax.js
+ PATHS
+ "${MATHJAX2_ROOT}"
+ /usr/share/mathjax2/
+ /usr/share/javascript/mathjax/
+ /usr/local/share/javascript/mathjax/
+ )
+
+ get_filename_component(MATHJAX2_PATH ${MATHJAX2_JS_PATH} DIRECTORY)
+
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(MathJax2 DEFAULT_MSG MATHJAX2_JS_PATH)
+endif()
+
+mark_as_advanced(MATHJAX2_JS_PATH)
+