diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e533f679..6a4b0fde0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,6 +117,8 @@ if(CMAKE_VERSION VERSION_LESS 3.5.1) set(ENABLE_BENCHMARKS OFF) endif() +option(ENABLE_EXTERNAL_MATHJAX "Use MathJax from an external CDN in HTML docs" ON) + ################################################################################ # GNSS-SDR version information @@ -330,6 +332,7 @@ set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.18") set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.10") set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "3.13.0") set(GNSSSDR_BENCHMARK_LOCAL_VERSION "1.5.2") +set(GNSSSDR_MATHJAX_EXTERNAL_VERSION "2.7.7") if(CMAKE_VERSION VERSION_LESS "3.0.2") set(GNSSSDR_GFLAGS_LOCAL_VERSION "2.2.1") # Fix for CentOS 7 @@ -2533,7 +2536,7 @@ endif() ################################################################################ -# Doxygen - http://www.doxygen.nl (OPTIONAL, used if found) +# Doxygen - https://www.doxygen.nl (OPTIONAL, used if found) ################################################################################ if(CMAKE_VERSION VERSION_LESS 3.6.9) find_package(Doxygen) @@ -2541,7 +2544,7 @@ else() find_package(Doxygen OPTIONAL_COMPONENTS dot) endif() set_package_properties(Doxygen PROPERTIES - URL "http://www.doxygen.nl" + URL "https://www.doxygen.nl" PURPOSE "Used to generate code documentation by doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME} doc'" TYPE OPTIONAL ) @@ -2562,14 +2565,21 @@ endif() set_package_properties(LATEX PROPERTIES URL "https://www.latex-project.org" DESCRIPTION "High-quality typesetting system" - PURPOSE "Used to generate a PDF manual by doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME} pdfmanual'" + PURPOSE "Used to generate a PDF manual by doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME} pdfmanual'." TYPE OPTIONAL ) +if(DEFINED MATHJAX2_ROOT) + set(ENABLE_EXTERNAL_MATHJAX OFF) +endif() +if(ENABLE_EXTERNAL_MATHJAX AND NOT DEFINED MATHJAX2_USE_ROOT) + set(MATHJAX2_USE_ROOT "https://cdnjs.cloudflare.com/ajax/libs/mathjax/${GNSSSDR_MATHJAX_EXTERNAL_VERSION}") +endif() +unset(MATHJAX2_FOUND CACHE) find_package(MATHJAX2) set_package_properties(MATHJAX2 PROPERTIES URL "https://www.mathjax.org" DESCRIPTION "Beautiful and accessible math in all browsers" - PURPOSE "Used to generate equations in HTML docs." + PURPOSE "Used to generate equations in HTML docs when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME} doc'." TYPE OPTIONAL ) @@ -2660,7 +2670,7 @@ if(DOXYGEN_FOUND) else() message(STATUS " Doxygen has not been found in your system.") message(STATUS " You can get nice code documentation by using it!") - message(STATUS " Get it from http://www.doxygen.nl/download.html") + message(STATUS " Get it from https://www.doxygen.nl/download.html") if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|kFreeBSD|GNU") if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat") message(STATUS " or simply by doing 'sudo yum install doxygen-latex'.") @@ -2672,6 +2682,7 @@ else() message(STATUS " or simply by doing 'sudo port install doxygen +docs', if you are using Macports,") message(STATUS " or 'brew cask install mactex', then restart Terminal and do 'brew install graphviz doxygen', if you use Homebrew.") endif() + set(ENABLE_EXTERNAL_MATHJAX OFF) endif() @@ -3188,6 +3199,7 @@ add_feature_info(ENABLE_OWN_GPSTK ENABLE_OWN_GPSTK "Forces the downloading and b add_feature_info(ENABLE_GNSS_SIM_INSTALL ENABLE_GNSS_SIM_INSTALL "Enables downloading and building of gnss-sim.") add_feature_info(ENABLE_INSTALL_TESTS ENABLE_INSTALL_TESTS "Install test binaries when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME} install'.") add_feature_info(ENABLE_BENCHMARKS ENABLE_BENCHMARKS "Enables building of code snippet benchmarks.") +add_feature_info(ENABLE_EXTERNAL_MATHJAX ENABLE_EXTERNAL_MATHJAX "Use MathJax from an external CDN in HTML docs when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME} doc'.") message(STATUS "") message(STATUS "***************************************") diff --git a/cmake/Modules/FindMATHJAX2.cmake b/cmake/Modules/FindMATHJAX2.cmake index 8fb6fa623..0b78175b9 100644 --- a/cmake/Modules/FindMATHJAX2.cmake +++ b/cmake/Modules/FindMATHJAX2.cmake @@ -28,15 +28,6 @@ # - MATHJAX2_PATH - Path to the MathJax root directory -if(CMAKE_VERSION VERSION_LESS 3.11) - if(__INCLUDED_MATHJAX2) - return() - endif() - set(__INCLUDED_MATHJAX2 TRUE) -else() - include_guard() -endif() - if(DEFINED MATHJAX2_USE_ROOT) set(MATHJAX2_FOUND TRUE) set(MATHJAX2_PATH "${MATHJAX2_USE_ROOT}/") diff --git a/docs/doxygen/other/main_page.dox b/docs/doxygen/other/main_page.dox index e1053e8d6..2ba165881 100644 --- a/docs/doxygen/other/main_page.dox +++ b/docs/doxygen/other/main_page.dox @@ -157,7 +157,7 @@ You can create the documentation by doing: $ make doc \endverbatim -from the gnss-sdr/build folder. In both cases, Doxygen will generate HTML documentation that can be +from the gnss-sdr/build folder. In both cases, Doxygen will generate HTML documentation that can be retrieved pointing your browser of preference to gnss-sdr/docs/html/index.html. There are two more extra targets available. From the gnss-sdr/build folder: