diff --git a/CMakeLists.txt b/CMakeLists.txt index fbd922f4811cedf641e09506ec54c458186e2e3d..aa8249a7742e41a6ced88964dbc09bbb2d0302a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,30 +85,30 @@ OPTION(OTB_USE_JPEG2000 "Use to support jpeg2000 image file format." ON) # EXPAT Library #------------------------------- -SET(OTB_USE_EXTERNAL_EXPAT 1) -SET(EXPAT_FIND_REQUIRED 0) # To suppress cmake error message if not find -FIND_PACKAGE(EXPAT) -IF(EXPAT_FOUND) +OPTION(OTB_USE_EXTERNAL_EXPAT "Use an outside build of EXPAT." OFF) +MARK_AS_ADVANCED(OTB_USE_EXTERNAL_EXPAT) +#SET(OTB_COMPILE_EXPAT ${OTB_USE_EXTERNAL_EXPAT}) +IF(OTB_USE_EXTERNAL_EXPAT) + FIND_PACKAGE(EXPAT) + IF(EXPAT_FOUND) # Control expat compatibility INCLUDE_DIRECTORIES(BEFORE ${EXPAT_INCLUDE_DIR}) - MESSAGE(${EXPAT_INCLUDE_DIR}) LINK_DIRECTORIES( ${EXPAT_LIBRARY} ) - TRY_COMPILE(OTB_TYPE_COMPILE_EXPAT - ${OTB_BINARY_DIR}/CMakeTmp - ${OTB_SOURCE_DIR}/CMake/otbTestCompileExpat.cxx ) - IF(OTB_TYPE_COMPILE_EXPAT) - SET(OTB_USE_EXTERNAL_EXPAT 1) - ELSE(OTB_TYPE_COMPILE_EXPAT) - SET(OTB_USE_EXTERNAL_EXPAT 0) - ENDIF( OTB_TYPE_COMPILE_EXPAT) -ELSE(EXPAT_FOUND) - SET(OTB_USE_EXTERNAL_EXPAT 0) -ENDIF(EXPAT_FOUND) -IF(NOT OTB_USE_EXTERNAL_EXPAT) +# TRY_COMPILE(OTB_TYPE_COMPILE_EXPAT +# ${OTB_BINARY_DIR}/CMakeTmp +# ${OTB_SOURCE_DIR}/CMake/otbTestCompileExpat.cxx ) +# IF( NOT OTB_TYPE_COMPILE_EXPAT) +# SET(OTB_USE_EXTERNAL_EXPAT OFF) +# ENDIF( NOT OTB_TYPE_COMPILE_EXPAT) + ELSE(EXPAT_FOUND) + MESSAGE(FATAL_ERROR + "Cannot build OTB project without lib EXPAT. Please set EXPAT_DIR or set OTB_USE_EXTERNAL_EXPAT OFF to use INTERNAL EXPAT set on OTB/Utilities repository.") + ENDIF(EXPAT_FOUND) +ELSE(OTB_USE_EXTERNAL_EXPAT) ADD_DEFINITIONS(-DOTB_USE_INTERNAL_EXPAT) INCLUDE_DIRECTORIES(BEFORE "${OTB_SOURCE_DIR}/Utilities/otbexpat") INCLUDE_DIRECTORIES(BEFORE "${OTB_BINARY_DIR}/Utilities/otbexpat") -ENDIF(NOT OTB_USE_EXTERNAL_EXPAT) +ENDIF(OTB_USE_EXTERNAL_EXPAT) #------------------------------- # ITK Library @@ -251,9 +251,9 @@ IF(OTB_USE_VISU_GUI) MESSAGE(FATAL_ERROR "Cannot build OTB project without FLTK. Please set FLTK_DIR or set OTB_USE_VISU to OFF or set OTB_USE_EXTERNAL_FLTK OFF to use INTERNAL FLTK set on OTB/Utilities repository.") ENDIF(FLTK_FOUND) - + ELSE(OTB_USE_EXTERNAL_FLTK) - + SET( FLTK_PLATFORM_DEPENDENT_LIBS "") IF(EXISTS "${OTB_BINARY_DIR}/Utilities/FLTK/FLTKConfig.cmake") INCLUDE(${OTB_BINARY_DIR}/Utilities/FLTK/FLTKConfig.cmake) @@ -261,9 +261,9 @@ IF(OTB_USE_VISU_GUI) #---------------------------------------------------------------- # RESUME Alls VISU GUI libraries use by OTB in a single VARIABLE SET(OTB_VISU_GUI_LIBRARIES "${FLTK_LIBRARIES};${OPENGL_LIBRARIES} ") - + ENDIF(OTB_USE_EXTERNAL_FLTK) - + ENDIF(OTB_USE_VISU_GUI) #-------------------------------