From 65f112f51566019102c5eb60f92bd394cd9c8da7 Mon Sep 17 00:00:00 2001 From: Thomas Feuvrier <thomas.feuvrier@c-s.fr> Date: Mon, 21 Sep 2009 18:05:37 +0200 Subject: [PATCH] ENH: Add TRY_COMPILE when External Boost library is selected. If the compilation aborted, then the internal boost library is used, and OTB_USE_EXTERNAL_BOOST cmake value is force to OFF. --- CMake/otbTestCompileBoost.cxx | 8 ++++++++ CMakeLists.txt | 14 ++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 CMake/otbTestCompileBoost.cxx diff --git a/CMake/otbTestCompileBoost.cxx b/CMake/otbTestCompileBoost.cxx new file mode 100644 index 0000000000..2cdb84ce5a --- /dev/null +++ b/CMake/otbTestCompileBoost.cxx @@ -0,0 +1,8 @@ +#include <boost/graph/graph_traits.hpp> +#include <boost/graph/adjacency_list.hpp> + +int +main(int argc, char *argv[]) +{ + return 1; +} diff --git a/CMakeLists.txt b/CMakeLists.txt index 4736606b1d..9e746039fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -435,6 +435,20 @@ ENDIF(OTB_USE_MAPNIK) IF(OTB_USE_EXTERNAL_BOOST) FIND_PACKAGE(Boost) + + TRY_COMPILE(BOOST_IS_COMPLETE + ${CMAKE_CURRENT_BINARY_DIR}/CMake + ${CMAKE_CURRENT_SOURCE_DIR}/CMake/otbTestCompileBoost.cxx + CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${Boost_INCLUDE_DIR}" + OUTPUT_VARIABLE OUTPUT) + IF(BOOST_IS_COMPLETE) + MESSAGE(STATUS "Testing external Boost library -- yes") + ELSE(BOOST_IS_COMPLETE) + MESSAGE(STATUS "Testing external Boost library -- no") + MESSAGE(STATUS "Force the OTB_USE_EXTERNAL_BOOST value to OFF.") + SET(OTB_USE_EXTERNAL_BOOST OFF) + ENDIF(BOOST_IS_COMPLETE) + INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) ENDIF(OTB_USE_EXTERNAL_BOOST) -- GitLab