Boost minimum version isn't?

I’m trying to build GNU Radio (master). It has a minimum Boost version of 1.65 asserted. However, it appears that their custom CMake module is unintentionally allowing older Boost versions.

(I’ve looked at Best practices to set imported package settings and Fail to use self build Boost 1.75 under Ubuntu Linux 20.04 x64 with CMake default and 3.19.4 but they don’t seem to explain what’s happening).

In particular, I’d like to understand what this block of code does:

    "1.53" "1.54.0" "1.54"
    "1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59"
    "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64"
    "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69"
    "1.71.0" "1.71"

                                           OPTIONAL_COMPONENTS unit_test_framework)

It looks like I was able to get through the configure step and use my Boost 1.53 installation, which resulted in compilation failure.

Is the right answer to remove the older versions from Boost_ADDITIONAL_VERSIONS or is there something else at play here that I don’t understand?

AFAICS, the issue is that GrBoost.cmake is included before setting GR_BOOST_MIN_VERSION, so the value of GR_BOOST_MIN_VERSION doesn’t have an impact on the behavior of the find_package(Boost ...) call in GrBoost.cmake.

Thank you. If I move the include(GrBoost) after line 60, it fails as expected with the older Boost

Interesting mixed cases in cmake commands?

How long will cmake work with this?