Don't hard-code versions of Python, Boost, Swig etc
CMake does a poor job at forward compatibility in various Find*.cmake scripts.
For example find_package(Python)
will happily pick up say system Python 3.6 even though Python 3.12 is in CMAKE_PREFIX_PATH, due to the fact that at the time of the CMake release Python 3.12 was not released yet, or because CMake folks forgot to include 3.12 in the list of "known" Python versions.
Arguably this sequence of commits should just not happen:
Instead of exhaustively listing known versions, which may break within days after a CMake release, it makes much more sense to look for a pattern python(\d+\(.\d+)?)?
and allow newer versions of Python to be found.
The same applies to Swig and Boost, and possibly others.
Edited by Ben Boeckel