Установите минимальную версию boost в cmake

Я хочу определить минимальную версию повышения, которая будет доступна в системе. Я попробовал следующий подход. К сожалению, это не сработало, поскольку оно пытается скомпилировать также с поддержкой только 1.40.0 в системе.

SET(Boost_USE_STATIC_LIBS OFF)
SET(Boost_USE_MULTITHREAD OFF)
SET(BOOST_MIN_VERSION "1.47.0")

FIND_PACKAGE(Boost REQUIRED)

FIND_PACKAGE(Boost REQUIRED)
if (NOT Boost_FOUND)
      message(FATAL_ERROR "Fatal error: Boost (version >= 1.47.0) required.\n")
endif (NOT Boost_FOUND)

INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})

Как мне получить cmake для управления правильной версией boost до компиляции?

Ответы

Ответ 1

На основе this кажется, что FIND_PACKAGE игнорирует SET(BOOST_MIN_VERSION "1.47.0"), вместо этого вы можете использовать FIND_PACKAGE(Boost 1.47.0 REQUIRED) или немного приятнее FIND_PACKAGE(Boost ${BOOST_MIN_VERSION} REQUIRED)