Suitable versions of Sphinx for building different versions of CMake Docs?

Hello, @ben.boeckel

Over the past months, I’ve been working on making the localization project for CMake Documentation (using Sphinx’s Internationalization), in which I also designed the mechanism to translate all the possible versions listed in the version switcher: v3.0~v3.xx, latest, and git-master. The following screenshot is the demo result:

In short, my localization project will store the generated Gettext .po files, so that CMake can use these .po files to build its documentation in mulitple languages. (Just like Python Documentation)

However, there are some restrictions when building different versions of CMake Documentation:

  • For v3.0~v3.8, we should use sphinx-1.6.1
  • For v3.9~v3.18, we should use sphinx-2.4.5
  • For v3.19~v3.27, we should use sphinx-5.3.0
  • For v3.28~, we can use sphinx-6.3.0

Besides, based on this topic, it seems that the version switcher must be added manually to the generated html documentation before v3.9.0.

Therefore, I hope that CMake Team can fix those older versions, and they had better being able to use the same version of Sphinx as the latest version uses.