Skip to content
Snippets Groups Projects
Commit 09694a5b authored by Julien Malik's avatar Julien Malik
Browse files

COMP: reuse OTB FindXXX modules in UseOTB. add the missing ones (tinyxml, libkml, muparser)

parent 09f3477b
No related branches found
No related tags found
No related merge requests found
......@@ -23,6 +23,18 @@ INCLUDE_DIRECTORIES(${OTB_INCLUDE_DIRS})
# Add link directories needed to use OTB.
LINK_DIRECTORIES(${OTB_LIBRARY_DIRS})
# Path to additional CMake modules
# save the current value
SET(BACKUP_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH})
# add the OTB specific CMake modules dir BEFORE the current CMAKE_MODULE_PATH
SET(CMAKE_MODULE_PATH
${OTB_CMAKEMODULE_DIRS}
${CMAKE_MODULE_PATH})
# at the end of this file, CMAKE_MODULE_PATH will be set back to its original value
# this way, the OTb specific FindXXX.cmake are only used in this file
# and do not pollute the user space
# Load settings for the system VXL with which OTB was built, if any.
IF(OTB_USE_SYSTEM_VXL)
# If VXL has already been found, make sure it is the one used to
......@@ -94,45 +106,30 @@ IF(USE_FFTWF OR USE_FFTWD)
ENDIF(USE_FFTWF OR USE_FFTWD)
IF(OTB_USE_EXTERNAL_EXPAT)
FIND_PACKAGE(EXPAT)
IF(EXPAT_FOUND)
# Control expat compatibility
INCLUDE_DIRECTORIES(${EXPAT_INCLUDE_DIR})
ELSE(EXPAT_FOUND)
MESSAGE(FATAL_ERROR
"Cannot use OTB project without EXPAT library. Please set EXPAT_DIR or rebuild OTB and set OTB_USE_EXTERNAL_EXPAT OFF to use INTERNAL EXPAT set on OTB/Utilities repository.")
ENDIF(EXPAT_FOUND)
FIND_PACKAGE(EXPAT REQUIRED)
INCLUDE_DIRECTORIES(${EXPAT_INCLUDE_DIR})
ELSE(OTB_USE_EXTERNAL_EXPAT)
ADD_DEFINITIONS(-DOTB_USE_INTERNAL_EXPAT)
ENDIF(OTB_USE_EXTERNAL_EXPAT)
IF(OTB_USE_EXTERNAL_BOOST)
FIND_PACKAGE(Boost)
FIND_PACKAGE(Boost REQUIRED)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
# needed for automatic linking on msvc platform
LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} )
ENDIF(OTB_USE_EXTERNAL_BOOST)
IF(OTB_USE_EXTERNAL_GDAL)
FIND_PACKAGE(GDAL)
IF (NOT GDAL_FOUND)
FIND_PATH(GDAL_INCLUDE_DIR gdal.h $ENV{GDAL_INCLUDE_DIR} /usr/include/gdal)
FIND_LIBRARY(GDAL_LIBRARY NAMES gdal PATHS /usr/lib/gdal)
ENDIF(NOT GDAL_FOUND)
INCLUDE_DIRECTORIES(${GDAL_INCLUDE_DIR})
IF(OTB_USE_EXTERNAL_GDAL)
FIND_PACKAGE(GDAL REQUIRED)
INCLUDE_DIRECTORIES(${GDAL_INCLUDE_DIRS})
ENDIF(OTB_USE_EXTERNAL_GDAL)
if(OTB_USE_EXTERNAL_FLTK)
FIND_PACKAGE(FLTK)
IF(NOT FLTK_FOUND)
MESSAGE(FATAL_ERROR
"OTB was built with an external FLTK library, but I could not find it. Please set FLTK_DIR to the path containing FLTKConfig.cmake.")
ENDIF(NOT FLTK_FOUND)
FIND_PACKAGE(FLTK REQUIRED)
INCLUDE_DIRECTORIES(${FLTK_INCLUDE_DIRS})
LINK_DIRECTORIES(${FLTK_LIBRARY_DIRS})
else(OTB_USE_EXTERNAL_FLTK)
FIND_PROGRAM(FLTK_FLUID_EXECUTABLE fluid PATHS
......@@ -144,21 +141,30 @@ else(OTB_USE_EXTERNAL_FLTK)
NO_SYSTEM_PATH)
endif(OTB_USE_EXTERNAL_FLTK)
IF(OTB_USE_LIBLAS)
IF(OTB_USE_EXTERNAL_LIBLAS)
FIND_PATH(LIBLAS_INCLUDE_DIR liblas.hpp)
IF(LIBLAS_INCLUDE_DIR)
INCLUDE_DIRECTORIES(${LIBLAS_INCLUDE_DIR})
ENDIF(LIBLAS_INCLUDE_DIR)
IF(OTB_USE_LIBLAS AND OTB_USE_EXTERNAL_LIBLAS)
FIND_PACKAGE(LibLAS REQUIRED)
INCLUDE_DIRECTORIES(${LIBLAS_INCLUDE_DIRS})
ENDIF(OTB_USE_LIBLAS AND OTB_USE_EXTERNAL_LIBLAS)
IF(OTB_USE_PQXX)
FIND_PACKAGE(Pqxx REQUIRED)
INCLUDE_DIRECTORIES(${PQXX_INCLUDE_DIRS})
ENDIF(OTB_USE_PQXX)
IF(OTB_USE_EXTERNAL_LIBKML)
FIND_PACKAGE(LibKML)
INCLUDE_DIRECTORIES(${LIBKML_INCLUDE_DIRS})
ENDIF(OTB_USE_EXTERNAL_LIBKML)
FIND_LIBRARY(LIBLAS_LIBRARY NAMES liblas_c liblas)
IF(OTB_USE_EXTERNAL_TINYXML)
FIND_PACKAGE(TinyXML)
INCLUDE_DIRECTORIES(${TINYXML_INCLUDE_DIRS})
ENDIF(OTB_USE_EXTERNAL_TINYXML)
IF (NOT LIBLAS_LIBRARY)
MESSAGE(FATAL_ERROR
"Cannot find Liblas library. Please set LIBLAS_LIBRARY")
ENDIF (NOT LIBLAS_LIBRARY)
ENDIF(OTB_USE_EXTERNAL_LIBLAS)
ENDIF(OTB_USE_LIBLAS)
IF(OTB_USE_EXTERNAL_MUPARSER)
FIND_PACKAGE(MuParser)
INCLUDE_DIRECTORIES(${MUPARSER_INCLUDE_DIR})
ENDIF(OTB_USE_EXTERNAL_MUPARSER)
IF(OTB_USE_MAPNIK)
FIND_PATH(MAPNIK_INCLUDE_DIR mapnik/map.hpp PATHS)
......@@ -225,30 +231,14 @@ IF(OTB_USE_MAPNIK)
# Add compiler option
ADD_DEFINITIONS(-DOTB_USE_MAPNIK)
INCLUDE_DIRECTORIES(${MAPNIK_INCLUDE_DIR} ${ICUUC_INCLUDE_DIR} ${LTDL_INCLUDE_DIR} ${FREETYPE2_INCLUDE_DIR})
INCLUDE_DIRECTORIES(${MAPNIK_INCLUDE_DIR}
${ICUUC_INCLUDE_DIR}
${LTDL_INCLUDE_DIR}
${FREETYPE2_INCLUDE_DIR})
ENDIF(OTB_USE_MAPNIK)
IF(OTB_USE_PQXX)
FIND_PATH(PQXX_INCLUDE_DIR pqxx/pqxx PATHS)
MARK_AS_ADVANCED(PQXX_INCLUDE_DIR)
IF (NOT PQXX_INCLUDE_DIR)
MESSAGE(FATAL_ERROR
"Cannot find PQXX include directory. Please set PQXX_INCLUDE_DIR or SET OTB_USE_PQXX OFF.")
ENDIF (NOT PQXX_INCLUDE_DIR)
FIND_LIBRARY(PQXX_LIBRARY pqxx )
MARK_AS_ADVANCED(PQXX_LIBRARY)
IF (NOT PQXX_LIBRARY)
MESSAGE(FATAL_ERROR
"Cannot find PQXX library. Please set PQXX_LIBRARY or SET OTB_USE_PQXX OFF.")
ENDIF (NOT PQXX_LIBRARY)
INCLUDE_DIRECTORIES(${PQXX_INCLUDE_DIR})
ENDIF(OTB_USE_PQXX)
INCLUDE(${OTB_LIBRARY_DIRS}/OTBParseArguments.cmake)
INCLUDE(${OTB_LIBRARY_DIRS}/OTBWrapperMacros.cmake)
SET(CMAKE_MODULE_PATH ${BACKUP_CMAKE_MODULE_PATH})
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment