How did CMake Documentation deal with its Version Switcher before v3.9.0?

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 }} {{ "&mdash;"|safe }} {{ docstitle|e }}</title>
{% endblock %}

Therefore, I wonder how did CMake Documentation deal with its Version Switcher before v3.9.0?

We manually added the version switch retroactively in a local/unpublished branch of each older version, and regenerated it as a one-shot update to the docs published on cmake.org.