Hello CMake Team.
According to this topic, the mechanism of adding the Version Switcher into CMake Documentation is to pass -A versionswitch=1
to Sphinx flag. Therefore, we can see the following codes in the Utilities/Sphinx/templates/layout.html:
{% block extrahead %}
{% if versionswitch is defined %}
<script type="text/javascript" src="{{ pathto('../version_switch.js', 1) }}"></script>
{% endif %}
{{ super() }}
{% endblock %}
However, I noticed that there isn’t such codes in the Utilities/Sphinx/templates/layout.html before v3.9.0 (for example, v3.8.2).
Click to expand
{% extends "!layout.html" %}
{% block rootrellink %}
<li>
<img src="{{ pathto('_static/cmake-logo-16.png', 1) }}" alt=""
style="vertical-align: middle; margin-top: -2px" />
</li>
<li>
<a href="https://cmake.org/">CMake</a>{{ reldelim1 }}
</li>
<li>
<a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}
</li>
{% endblock %}
{# Put some context in the html title element. Workaround for #}
{# https://bitbucket.org/birkenfeld/sphinx/issue/1492/qthelp-generate-html-title-element-should #}
{% block htmltitle %}
<title>{{ title|striptags|e }} {{ "—"|safe }} {{ docstitle|e }}</title>
{% endblock %}
Therefore, I wonder how did CMake Documentation deal with its Version Switcher before v3.9.0?