From 91c4bd4d8e90c24c254e631c1be043cdcfaa843b Mon Sep 17 00:00:00 2001 From: Julien Michel <julien.michel@orfeo-toolbox.org> Date: Fri, 24 Sep 2010 19:00:05 +0200 Subject: [PATCH] ENH: Fixing odd Boost look-up logic --- CMakeLists.txt | 29 ++++++++++++++++------------- otbIncludeDirectories.cmake | 3 +++ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2634e72c09..1801d46616 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -425,16 +425,22 @@ ENDIF(OTB_USE_PQXX) # Boost Library #------------------------------- SET (Boost_MINOR_VERSION 0) -FIND_PACKAGE(Boost) -IF(Boost_FOUND) - IF(NOT ${Boost_MINOR_VERSION} EQUAL 40) - OPTION(OTB_USE_EXTERNAL_BOOST "Use an outside build of Boost." ON) - ELSE(NOT ${Boost_MINOR_VERSION} EQUAL 40) - OPTION(OTB_USE_EXTERNAL_BOOST "Use an outside build of Boost." OFF) - ENDIF(NOT ${Boost_MINOR_VERSION} EQUAL 40) -ELSE(Boost_FOUND) - OPTION(OTB_USE_EXTERNAL_BOOST "Use an outside build of Boost." OFF) -ENDIF(Boost_FOUND) + +OPTION(OTB_USE_EXTERNAL_BOOST "Use an outside build of Boost." OFF) + +IF(OTB_USE_EXTERNAL_BOOST) + FIND_PACKAGE(Boost) + IF(Boost_FOUND) + IF( ${Boost_MINOR_VERSION} EQUAL 40) + MESSAGE(WARNING "Boost 1.40 not supported. Disabling OTB_USE_EXTERNAL_BOOST") + SET(OTB_USE_EXTERNAL_BOOST OFF) + ENDIF(${Boost_MINOR_VERSION} EQUAL 40) + ELSE(Boost_FOUND) + MESSAGE(FATAL_ERROR + "Cannot build OTB project without boost library. Please set Boost directories or set OTB_USE_EXTERNAL_BOOST to OFF to use INTERNAL Boost set on OTB/Utilities repository.") + ENDIF(Boost_FOUND) +ENDIF(OTB_USE_EXTERNAL_BOOST) + # Option for internal/external BOOST MARK_AS_ADVANCED(OTB_USE_EXTERNAL_BOOST) @@ -445,7 +451,6 @@ IF (OTB_USE_MAPNIK) ENDIF(OTB_USE_MAPNIK) IF(OTB_USE_EXTERNAL_BOOST) - FIND_PACKAGE(Boost) TRY_COMPILE(BOOST_IS_COMPLETE ${CMAKE_CURRENT_BINARY_DIR}/CMake @@ -459,8 +464,6 @@ IF(OTB_USE_EXTERNAL_BOOST) MESSAGE(STATUS "Force the OTB_USE_EXTERNAL_BOOST value to OFF.") SET(OTB_USE_EXTERNAL_BOOST OFF CACHE BOOL "Use an outside build of Boost." FORCE ) ENDIF(BOOST_IS_COMPLETE) - - INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) ENDIF(OTB_USE_EXTERNAL_BOOST) #------------------------------- diff --git a/otbIncludeDirectories.cmake b/otbIncludeDirectories.cmake index 76345033a9..25ad43a13b 100644 --- a/otbIncludeDirectories.cmake +++ b/otbIncludeDirectories.cmake @@ -75,6 +75,9 @@ SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} IF(NOT OTB_USE_EXTERNAL_BOOST) SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} ${OTB_SOURCE_DIR}/Utilities/otbkml/third_party/boost_1_34_1) +ELSE(NOT OTB_USE_EXTERNAL_BOOST) + SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} + ${Boost_INCLUDE_DIR}) ENDIF(NOT OTB_USE_EXTERNAL_BOOST) IF(OTB_COMPILE_JPEG2000) -- GitLab