--- Modules/FindBoost.cmake 2012-01-10 15:29:39.556025724 -0500 +++ Modules/FindBoost.cmake 2012-01-10 15:46:54.319929166 -0500 @@ -449,9 +449,24 @@ "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.${Boost_FIND_VERSION_PATCH}" "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}") else(Boost_FIND_VERSION_EXACT) + + # Determine the system default library. + execute_process( + COMMAND "gawk" "$2 == \"BOOST_LIB_VERSION\" {print $3}" "/usr/include/boost/version.hpp" + COMMAND "sed" "-e" "s/_/./g;s/\"//g" + OUTPUT_VARIABLE _boost_SELECTED) + + # Determine the version without the ".0" or ".1", in case that finds it + # better. + string(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1.\\2" + _boost_SELECTED_NO_PATCH ${_boost_SELECTED}) + # The user has not requested an exact version. Among known # versions, find those that are acceptable to the user request. - set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS} + set(_Boost_KNOWN_VERSIONS + ${_boost_SELECTED} + ${_boost_SELECTED_NO_PATCH} + ${Boost_ADDITIONAL_VERSIONS} "1.46.1" "1.46.0" "1.46" "1.45.0" "1.45" "1.44.0" "1.44" "1.43.0" "1.43" "1.42.0" "1.42" "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0" "1.37"