diff --git a/CMake/FindLibLAS.cmake b/CMake/FindLibLAS.cmake new file mode 100644 index 0000000000000000000000000000000000000000..6fc56edb509594fbfefb30350445c8da93b1d8db --- /dev/null +++ b/CMake/FindLibLAS.cmake @@ -0,0 +1,34 @@ +# - Find LIBLAS +# Find the native LIBLAS includes and library +# +# LIBLAS_FOUND - True if LIBLAS found. +# LIBLAS_INCLUDE_DIRS - where to find tinyxml.h, etc. +# LIBLAS_LIBRARIES - List of libraries when using LIBLAS. +# + +IF( LIBLAS_INCLUDE_DIR ) + # Already in cache, be silent + message("silent") + SET( LIBLAS_FIND_QUIETLY TRUE ) +ENDIF( LIBLAS_INCLUDE_DIR ) + +FIND_PATH( LIBLAS_INCLUDE_DIR liblas/capi/liblas.h ) + +FIND_LIBRARY( LIBLAS_LIBRARY + NAMES liblas_c liblas ) + +# handle the QUIETLY and REQUIRED arguments and set LIBLAS_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE( FindPackageHandleStandardArgs ) +FIND_PACKAGE_HANDLE_STANDARD_ARGS( LIBLAS DEFAULT_MSG LIBLAS_INCLUDE_DIR LIBLAS_LIBRARY ) + +MARK_AS_ADVANCED( LIBLAS_INCLUDE_DIR LIBLAS_LIBRARY ) + +IF(LIBLAS_FOUND) + SET(LIBLAS_INCLUDE_DIRS ${LIBLAS_INCLUDE_DIR}) + SET(LIBLAS_LIBRARIES ${LIBLAS_LIBRARY}) +ELSE(LIBLAS_FOUND) + SET(LIBLAS_INCLUDE_DIRS) + SET(LIBLAS_LIBRARIES) +ENDIF(LIBLAS_FOUND) + diff --git a/CMake/ImportLibLAS.cmake b/CMake/ImportLibLAS.cmake index 63f48198e912a46e81b1f1f9829d4bd7caa10171..5d998fb290163acaa423d1d36463eb13ca3f10f3 100644 --- a/CMake/ImportLibLAS.cmake +++ b/CMake/ImportLibLAS.cmake @@ -1,37 +1,32 @@ MESSAGE(STATUS "Importing LibLAS...") -# Use the liblas library (do not link on solaris) OPTION(OTB_USE_LIBLAS "Use liblas library to support Lidar data format." ON) MARK_AS_ADVANCED(OTB_USE_LIBLAS) IF(OTB_USE_LIBLAS) - - OPTION(OTB_USE_EXTERNAL_LIBLAS "Use an outside build of LibLAS (Lidar data)." OFF) - MARK_AS_ADVANCED(OTB_USE_EXTERNAL_LIBLAS) - - IF(OTB_USE_EXTERNAL_LIBLAS) - FIND_PATH(LIBLAS_INCLUDE_DIR NAMES liblas/capi/liblas.h PATHS ${OSGEO4W_INCLUDE} ) - IF(LIBLAS_INCLUDE_DIR) - INCLUDE_DIRECTORIES( ${LIBLAS_INCLUDE_DIR} ) - ENDIF(LIBLAS_INCLUDE_DIR) - - FIND_LIBRARY(LIBLAS_LIBRARY NAMES liblas_c liblas PATHS ${OSGEO4W_LIB}) - IF(LIBLAS_LIBRARY) - LINK_DIRECTORIES( ${LIBLAS_LIBRARY} ) - ENDIF(LIBLAS_LIBRARY) - ENDIF(OTB_USE_EXTERNAL_LIBLAS) - - IF(OTB_USE_EXTERNAL_LIBLAS) - MESSAGE(STATUS " Using LibLAS external version") - MESSAGE(STATUS " LibLAS includes : ${LIBLAS_INCLUDE_DIR}") - MESSAGE(STATUS " LibLAS library : ${LIBLAS_LIBRARY}") - ELSE(OTB_USE_EXTERNAL_LIBLAS) - MESSAGE(STATUS " Using LibLAS internal version") - ENDIF(OTB_USE_EXTERNAL_LIBLAS) + FIND_PACKAGE(LibLAS) -ADD_DEFINITIONS(-DLAS_DISABLE_DLL) + # Initialize option with what's found on the system + IF(LIBLAS_FOUND) + OPTION(OTB_USE_EXTERNAL_LIBLAS "Use external LIBLAS library." ON) + ELSE(LIBLAS_FOUND) + OPTION(OTB_USE_EXTERNAL_LIBLAS "Use external LIBLAS library." OFF) + ENDIF(LIBLAS_FOUND) + MARK_AS_ADVANCED(OTB_USE_EXTERNAL_LIBLAS) + + IF(OTB_USE_EXTERNAL_LIBLAS) + IF(LIBLAS_FOUND) + MESSAGE(STATUS "Using LibLAS external version") + ELSE(LIBLAS_FOUND) + # Generate an error if no external liblas is available + MESSAGE(FATAL_ERROR "LibLAS required but not found. " + "Either turn OTB_USE_EXTERNAL_LIBLAS to OFF to use the internal version, " + "or OTB_USE_LIBLAS to OFF to disable LAS support") + ENDIF(LIBLAS_FOUND) + ELSE(OTB_USE_EXTERNAL_LIBLAS) + MESSAGE(STATUS "Using LibLAS internal version") + SET(LIBLAS_LIBRARIES otbliblas) + ADD_DEFINITIONS(-DLAS_DISABLE_DLL) + ENDIF(OTB_USE_EXTERNAL_LIBLAS) + +ENDIF(OTB_USE_LIBLAS) -ELSE(OTB_USE_LIBLAS) - - MESSAGE(STATUS " Disabling LibLAS support") - -ENDIF(OTB_USE_LIBLAS) \ No newline at end of file diff --git a/Code/IO/CMakeLists.txt b/Code/IO/CMakeLists.txt index 5f411bfe8f480b427a996ff2ef12c750bf5bd5d6..c5563bca2e5b16c630392fd7a2b6de45715696f8 100644 --- a/Code/IO/CMakeLists.txt +++ b/Code/IO/CMakeLists.txt @@ -39,15 +39,7 @@ ADD_LIBRARY(OTBIO ${OTBIO_SRCS}) # LINK_INTERFACE_LIBRARIES "" # ) TARGET_LINK_LIBRARIES (OTBIO ${TIFF_LIBRARY} ${GEOTIFF_LIBRARY} ${GDAL_LIBRARY} ${OGR_LIBRARY} ${JPEG_LIBRARY} ${OPENTHREADS_LIBRARY} OTBCommon OTBBasicFilters OTBCurlAdapters) -TARGET_LINK_LIBRARIES (OTBIO ITKIO ITKCommon ${LIBKML_LIBRARIES} ${TINYXML_LIBRARIES}) - -IF (OTB_USE_LIBLAS) -IF(OTB_USE_EXTERNAL_LIBLAS) - TARGET_LINK_LIBRARIES(OTBIO ${LIBLAS_LIBRARY}) -ELSE(OTB_USE_EXTERNAL_LIBLAS) - TARGET_LINK_LIBRARIES(OTBIO otbliblas) -ENDIF(OTB_USE_EXTERNAL_LIBLAS) -ENDIF(OTB_USE_LIBLAS) +TARGET_LINK_LIBRARIES (OTBIO ITKIO ITKCommon ${LIBKML_LIBRARIES} ${TINYXML_LIBRARIES} ${LIBLAS_LIBRARIES}) IF( OTB_USE_JPEG2000 ) TARGET_LINK_LIBRARIES (OTBIO otbopenjpeg)