From 2025e70872dcbfa0039ec000ea11d98d34d6cf70 Mon Sep 17 00:00:00 2001
From: japm48 <japm48@users.noreply.github.com>
Date: Tue, 5 May 2020 07:49:06 +0200
Subject: 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.
---
 cmake/Modules/FindMathJax2.cmake | 60 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)
 create mode 100644 cmake/Modules/FindMathJax2.cmake

(limited to 'cmake/Modules')

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)
+
-- 
cgit v1.2.3