{% 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>
    {%- if versionswitch is defined %}
    <span class="version_switch">{{ release }}</span>
    <a href="{{ pathto(master_doc) }}">{% trans %}Documentation{% endtrans %}</a>{{ reldelim1 }}
    {%- else %}
    <a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}
    {%- endif %}
  </li>
{% endblock %}

{%- block relbar1 %}
{{ super() }}
{%- if outdated is defined %}
    <div class="outdated">
      This documents an old version of CMake.
      <a href="https://cmake.org/cmake/help/latest/{{ pagename }}.html">
        Click here to see the latest release.
      </a>
      <span class="version_switch_note"></span>
    </div>
{%- endif %}
{%- endblock %}

{% block extrahead %}
  {%- if opensearch is defined %}
    <link rel="search" type="application/opensearchdescription+xml"
          title="Search within CMake Documentation of Latest Version"
          href="{{ pathto('../latest-opensearch.xml', 1) }}"/>
  {%- endif %}
  {%- if versionswitch is defined %}
    <script type="text/javascript" src="{{ pathto('../version_switch.js', 1) }}"></script>
  {%- endif %}
{{ super() }}
{% 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 %}

{%- block footer %}
{{ super() }}
{%- if googleanalytics is defined %}
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-6042509-4");
pageTracker._trackPageview();
} catch(err) {}
</script>
{%- endif %}
{%- endblock %}
