2011-10-21 10 views
14

Quiero definir una versión de refuerzo mínima para estar disponible en el sistema. Intenté el siguiente acercamiento. Lamentablemente, esto no funcionó, ya que trata de compilar también con solo boost 1.40.0 disponible en el sistema.Establecer la versión mínima de refuerzo en cmake

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}) 

¿Cómo obtuve cmake para controlar la versión de refuerzo correcta, antes de compilar?

Respuesta

12

Basado en this parece que ignora FIND_PACKAGE SET(BOOST_MIN_VERSION "1.47.0") vez usted podría utilizar FIND_PACKAGE(Boost 1.47.0 REQUIRED) o ligeramente más agradable FIND_PACKAGE(Boost ${BOOST_MIN_VERSION} REQUIRED)

+0

Gracias FIND_PACKAGE (Boost $ {} BOOST_MIN_VERSION REQUERIDO) trabajó. – tune2fs

+1

@ tune2fs Esto solo funciona para versiones menores. Si tuviera boost 2.0 (suponiendo que existiera tal cosa) no lo encontraría. – juanchopanza

Cuestiones relacionadas