在cmake中设置最小版本的boost

时间:2011-10-21 20:53:32

标签: c++ 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 个答案:

答案 0 :(得分:15)

根据this,似乎FIND_PACKAGE会忽略SET(BOOST_MIN_VERSION "1.47.0"),而是可以使用FIND_PACKAGE(Boost 1.47.0 REQUIRED)或稍微更好FIND_PACKAGE(Boost ${BOOST_MIN_VERSION} REQUIRED)