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:
set(Boost_ADDITIONAL_VERSIONS
"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"
)
find_package(Boost ${GR_BOOST_MIN_VERSION} REQUIRED ${BOOST_REQUIRED_COMPONENTS}
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?