From 6a503205956d2c194f32d817313cf034d183ea6b Mon Sep 17 00:00:00 2001 From: Thomas Feuvrier <thomas.feuvrier@c-s.fr> Date: Tue, 22 Jan 2008 09:10:49 +0000 Subject: [PATCH] =?UTF-8?q?Mise=20a=20jour=20FLTK=20en=20interne.=20Ok=20p?= =?UTF-8?q?our=20r=C3=A9gression=20:=20FLTK=20en=20externe=20fonctionne=20?= =?UTF-8?q?comme=20avant=20(c'est=20d=C3=A9j=C3=A0=20pas=20mal=20;-)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 142 ++++++++++---- OTBConfig.cmake.in | 17 +- Testing/Code/Visu/CMakeLists.txt | 2 +- UseOTB.cmake.in | 1 - otbIncludeDirectories.cmake | 320 +++++++++++++++++-------------- 5 files changed, 299 insertions(+), 183 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eaa18f74a4..9c5e3652c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,7 +64,7 @@ SET(OTB_VERSION_PATCH "0") SET(OTB_VERSION_STRING "${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}.${OTB_VERSION_PATCH}") #----------------------------------------------------------------------------- -# RECHERCHE DES LIBRAIRIES EXTERNES UTILISEES +# FIND EXTERNAL LIBRAIRIES USE #------------------------------- # Librairie ITK @@ -72,12 +72,12 @@ SET(OTB_VERSION_STRING "${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}.${OTB_VERSION_ OPTION(OTB_USE_EXTERNAL_ITK "Use an outside build of ITK." OFF) IF(OTB_USE_EXTERNAL_ITK) - FIND_PACKAGE(ITK) - IF(ITK_FOUND) - INCLUDE(${ITK_USE_FILE}) - ELSE(ITK_FOUND) - MESSAGE(FATAL_ERROR - "Cannot build OTB project without ITK. Please set ITK_DIR or set OTB_USE_EXTERNAL_ITK OFF to use INTERNAL ITK set on OTB/Utilities repository.") + FIND_PACKAGE(ITK) + IF(ITK_FOUND) + INCLUDE(${ITK_USE_FILE}) + ELSE(ITK_FOUND) + MESSAGE(FATAL_ERROR + "Cannot build OTB project without ITK. Please set ITK_DIR or set OTB_USE_EXTERNAL_ITK OFF to use INTERNAL ITK set on OTB/Utilities repository.") ENDIF(ITK_FOUND) ENDIF(OTB_USE_EXTERNAL_ITK) @@ -87,15 +87,16 @@ ENDIF(OTB_USE_EXTERNAL_ITK) #------------------------------- #FIND_LIBRARY(GDAL_LIBRARY_DIRS gdal PATHS $ENV{GDAL_LIBRARY_DIRS} ) + FIND_PATH(GDAL_LIBRARY_DIRS gdal PATHS $ENV{GDAL_LIBRARY_DIRS} ) FIND_PATH(GDAL_INCLUDE_DIRS gdal.h $ENV{GDAL_INCLUDE_DIRS} /usr/include/gdal) IF (NOT GDAL_LIBRARY_DIRS) MESSAGE(FATAL_ERROR - "Cannot find GDAL library directory. Please set GDAL_LIBRARY_DIRS.") + "Cannot find GDAL library directory. Please set GDAL_LIBRARY_DIRS.") ENDIF (NOT GDAL_LIBRARY_DIRS) IF (NOT GDAL_INCLUDE_DIRS) MESSAGE(FATAL_ERROR - "Cannot find GDAL include directory. Please set GDAL_INCLUDE_DIRS.") + "Cannot find GDAL include directory. Please set GDAL_INCLUDE_DIRS.") ENDIF (NOT GDAL_INCLUDE_DIRS) @@ -106,6 +107,7 @@ LINK_DIRECTORIES( ${GDAL_LIBRARY_DIRS} ) # Option for generate Visu tools !!! OPTION(OTB_USE_VISU_GUI "Generate Gui/Visu tools directory. If ON, find OpenGL and FLTK package." ON) MARK_AS_ADVANCED(OTB_USE_VISU_GUI) + IF(OTB_USE_VISU_GUI) #------------------------------- @@ -119,40 +121,103 @@ IF(OTB_USE_VISU_GUI) #------------------------------- # Librairie FLTK #------------------------------- + + # Option for internal/external FLTK + OPTION(OTB_USE_EXTERNAL_FLTK "Use an outside build of FLTK." ON) + MARK_AS_ADVANCED(OTB_USE_EXTERNAL_FLTK) # Add an option to use or not use FLTK (http://www.fltk.org) # SET(CMAKE_MODULE_PATH "/usr/share/CMake") # SET( FLTK_INCLUDE_DIR /usr/include ) - FIND_PACKAGE(FLTK) - IF (NOT FLTK_INCLUDE_DIR) - SET( FLTK_INCLUDE_DIR /usr/include ) - FIND_PACKAGE(FLTK) - ENDIF(NOT FLTK_INCLUDE_DIR) - - IF(FLTK_FOUND) - INCLUDE_DIRECTORIES(${FLTK_INCLUDE_DIRS}) - LINK_DIRECTORIES(${FLTK_LIBRARY_DIRS}) - ELSE(FLTK_FOUND) - MESSAGE(FATAL_ERROR - "Cannot build OTB project without FLTK. Please set FLTK_DIR or set OTB_USE_VISU to OFF.") - ENDIF(FLTK_FOUND) - - #---------------------------------------------------------------- - # RESUME Alls VISU GUI libraries use by OTB in a single VARIABLE - SET(OTB_VISU_GUI_LIBRARIES "${FLTK_LIBRARIES};${OPENGL_LIBRARIES} ") - + IF(OTB_USE_EXTERNAL_FLTK) + + FIND_PACKAGE(FLTK) + IF (NOT FLTK_INCLUDE_DIR) + SET( FLTK_INCLUDE_DIR /usr/include ) + FIND_PACKAGE(FLTK) + ENDIF(NOT FLTK_INCLUDE_DIR) + + IF(FLTK_FOUND) +# IF(NOT EXISTS "${FLTK_BINARY_DIR}/FLTKConfig.cmake") +# MESSAGE(FATAL_ERROR "Impossible to find the file ${FLTK_BINARY_DIR}/FLTKConfig.cmake. You must generate FLTK with cmake process.") +# ELSE(NOT EXISTS "${FLTK_BINARY_DIR}/FLTKConfig.cmake") +# INCLUDE(${FLTK_BINARY_DIR}/FLTKConfig.cmake) +# ENDIF(NOT EXISTS "${FLTK_BINARY_DIR}/FLTKConfig.cmake") +# MESSAGE("FLUID_COMMAND -> ${FLUID_COMMAND}") +# MESSAGE("FLTK_BINARY_DIR -> ${FLTK_BINARY_DIR}") +# MESSAGE("FLTK_USE_FILE -> ${FLTK_USE_FILE}") +# MESSAGE("FLTK_INCLUDE_DIRS -> ${FLTK_INCLUDE_DIRS}") +# MESSAGE("FLTK_LIBRARY_DIRS -> ${FLTK_LIBRARY_DIRS}") +# MESSAGE("FLTK_LIBRARIES -> ${FLTK_LIBRARIES}") +# MESSAGE("FLTK_DIR -> ${FLTK_DIR}") +# MESSAGE("FLTK_FLUID_COMMAND -> ${FLTK_FLUID_COMMAND}") +# MESSAGE("FLTK_EXECUTABLE_DIRS -> ${FLTK_EXECUTABLE_DIRS}") + + + INCLUDE_DIRECTORIES(${FLTK_INCLUDE_DIRS}) + LINK_DIRECTORIES(${FLTK_LIBRARY_DIRS}) + ELSE(FLTK_FOUND) + 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) + + #----------------------------------------------------------------------------- + # This lines come from FLTK CMakeLists.txt. We need the FLTK_PLATFORM_DEPENDENT_LIBS + # information, but this VAR is not include in the FLTKConfig.cmake. + IF(WIN32) + IF(NOT CYGWIN) + IF(BORLAND) + SET( FLTK_PLATFORM_DEPENDENT_LIBS import32 ) + ELSE(BORLAND) + SET( FLTK_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 ) + ENDIF(BORLAND) + ENDIF(NOT CYGWIN) + ENDIF(WIN32) + + SET(FLTK_X11 1) + SET(FLTK_APPLE 0) + IF(APPLE) + OPTION(FLTK_APPLE_X11 "Use X11 on Mac instead of Carbon" OFF) + MARK_AS_ADVANCED(FLTK_APPLE_X11) + IF(NOT FLTK_APPLE_X11) + SET(FLTK_APPLE 1) + SET(FLTK_X11 0) + ENDIF(NOT FLTK_APPLE_X11) + ENDIF(APPLE) + IF(UNIX) + FIND_PACKAGE(X11) + SET( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} -lm) + ENDIF(UNIX) + IF(APPLE AND NOT FLTK_APPLE_X11) + SET( FLTK_PLATFORM_DEPENDENT_LIBS + "-framework Carbon -framework Cocoa -framework ApplicationServices -lz") + ENDIF(APPLE AND NOT FLTK_APPLE_X11) + IF(CYGWIN) + ADD_DEFINITIONS(-DWIN32) + SET( FLTK_PLATFORM_DEPENDENT_LIBS ole32 uuid comctl32 wsock32 supc++ -lm -lgdi32) + ENDIF(CYGWIN) + IF(MINGW) + ADD_DEFINITIONS(-DWIN32) + SET( FLTK_PLATFORM_DEPENDENT_LIBS ole32 uuid wsock32 gdi32 comdlg32) + ENDIF(MINGW) + + #---------------------------------------------------------------- + # RESUME Alls VISU GUI libraries use by OTB in a single VARIABLE +# SET(OTB_VISU_GUI_LIBRARIES "${FLTK_LIBRARIES} ${OTB_VISU_GUI_LIBRARIES}") +# SET(OTB_FLTK_FLUID_EXECUTABLE "${FLTK_FLUID_EXECUTABLE}") + +# SET(OTB_VISU_GUI_LIBRARIES "${FLTK_LIBRARIES};${OPENGL_LIBRARIES} ") + ENDIF(OTB_USE_EXTERNAL_FLTK) + #---------------------------------------------------------------- # ADD Specifics mingw lib - IF(MINGW) - SET(OTB_VISU_GUI_LIBRARIES "${OTB_VISU_GUI_LIBRARIES};ole32;uuid;wsock32;gdi32;comdlg32;shell32") # wininet dsound gdi32 vfw32 - ENDIF(MINGW) -ELSE(OTB_USE_VISU_GUI) - SET(OTB_VISU_GUI_LIBRARIES "") +# IF(MINGW) +# SET(OTB_VISU_GUI_LIBRARIES "${OTB_VISU_GUI_LIBRARIES};ole32;uuid;wsock32;gdi32;comdlg32;shell32") # wininet dsound gdi32 vfw32 +# ENDIF(MINGW) ENDIF(OTB_USE_VISU_GUI) - #------------------------------- # End connections whith external libraries #------------------------------- @@ -353,6 +418,7 @@ IF (BUILD_TESTING) SUBDIRS(Testing) ENDIF (BUILD_TESTING) + #----------------------------------------------------------------------------- # OTB requires special compiler flags on some platforms. IF(CMAKE_COMPILER_IS_GNUCXX) @@ -574,6 +640,12 @@ INCLUDE_DIRECTORIES( ${OTB_INCLUDE_DIRS_SYSTEM} ) +IF(OTB_USE_VISU_GUI) + SET(OTB_VISU_GUI_LIBRARIES "${FLTK_LIBRARIES};${OPENGL_LIBRARIES};${FLTK_PLATFORM_DEPENDENT_LIBS}") +ELSE(OTB_USE_VISU_GUI) + SET(OTB_VISU_GUI_LIBRARIES "") +ENDIF(OTB_USE_VISU_GUI) + #----------------------------------------------------------------------------- # Uninstall cmake use to uninstall OTB. CONFIGURE_FILE( @@ -643,7 +715,3 @@ ELSE("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 1.7) "Please upgrade to CMake 1.8.") ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 1.7) -# Set the FLTK and OpenGL libraries use by OTB - - - diff --git a/OTBConfig.cmake.in b/OTBConfig.cmake.in index e44c2b6c8d..f0963d5087 100644 --- a/OTBConfig.cmake.in +++ b/OTBConfig.cmake.in @@ -63,7 +63,20 @@ SET(OTB_USE_SYSTEM_VXL "@OTB_USE_SYSTEM_VXL@") # The VXL_DIR setting used to build OTB. Set if OTB_USE_SYSTEM_VXL is true. SET(OTB_VXL_DIR "@OTB_VXL_DIR@") -SET(OTB_FLTK_FLUID_EXECUTABLE "@FLTK_FLUID_EXECUTABLE@") + SET(OTB_ITK_DIR "@ITK_DIR@") -SET(OTB_VISU_GUI_LIBRARIES "@OTB_VISU_GUI_LIBRARIES@") +# FLTK informations +SET(FLTK_FLUID_EXECUTABLE "@FLUID_COMMAND@") +#SET(FLTK_BINARY_DIR "@FLTK_BINARY_DIR@") +SET(FLTK_LIBRARY_DIRS "@FLTK_LIBRARY_DIRS@") +SET(FLTK_LIBRARIES "@FLTK_LIBRARIES@") +SET(OPENGL_LIBRARIES "@OPENGL_LIBRARIES@") +SET(FLTK_EXECUTABLE_DIRS "@FLTK_EXECUTABLE_DIRS@") +SET(FLUID_COMMAND "@FLUID_COMMAND@") +SET(FLTK_PLATFORM_DEPENDENT_LIBS "@FLTK_PLATFORM_DEPENDENT_LIBS@") + +# The OTB Visu Gui informations +SET(OTB_USE_VISU_GUI "@OTB_USE_VISU_GUI@") +SET(OTB_VISU_GUI_LIBRARIES "@FLTK_LIBRARIES@;@OPENGL_LIBRARIES@;@FLTK_PLATFORM_DEPENDENT_LIBS@") + diff --git a/Testing/Code/Visu/CMakeLists.txt b/Testing/Code/Visu/CMakeLists.txt index ef58612319..77d082b270 100755 --- a/Testing/Code/Visu/CMakeLists.txt +++ b/Testing/Code/Visu/CMakeLists.txt @@ -159,7 +159,7 @@ INCLUDE_DIRECTORIES("${OTBTesting_BINARY_DIR}") ADD_EXECUTABLE(otbVisuTests1 otbVisuTests1.cxx ${BasicVisu_SRCS1}) TARGET_LINK_LIBRARIES(otbVisuTests1 OTBVisu OTBGui OTBIO gdal ITKIO ITKCommon ${OTB_VISU_GUI_LIBRARIES} ) ADD_EXECUTABLE(otbVisuTests2 otbVisuTests2.cxx ${BasicVisu_SRCS2}) -TARGET_LINK_LIBRARIES(otbVisuTests2 OTBVisu OTBGui OTBIO gdal ITKIO ITKCommon) +TARGET_LINK_LIBRARIES(otbVisuTests2 OTBVisu OTBGui OTBIO gdal ITKIO ITKCommon ${OTB_VISU_GUI_LIBRARIES} ) ENDIF( NOT OTB_DISABLE_CXX_TESTING ) diff --git a/UseOTB.cmake.in b/UseOTB.cmake.in index 5c1271ed0f..97cf85e62f 100644 --- a/UseOTB.cmake.in +++ b/UseOTB.cmake.in @@ -67,7 +67,6 @@ IF(OTB_USE_SYSTEM_VXL) ENDIF(VXL_FOUND) ENDIF(OTB_USE_SYSTEM_VXL) -SET(FLTK_FLUID_EXECUTABLE ${OTB_FLTK_FLUID_EXECUTABLE}) #WHERE TO FIND ITK IF(OTB_USE_EXTERNAL_ITK) INCLUDE(${OTB_ITK_DIR}/ITKConfig.cmake) diff --git a/otbIncludeDirectories.cmake b/otbIncludeDirectories.cmake index 1d727f2c22..230a7c0cbf 100644 --- a/otbIncludeDirectories.cmake +++ b/otbIncludeDirectories.cmake @@ -1,142 +1,178 @@ -# $Id$ -#----------------------------------------------------------------------------- -# Include directories for other projects installed on the system. -SET(OTB_INCLUDE_DIRS_SYSTEM "") - -#----------------------------------------------------------------------------- -# Include directories from the build tree. -SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_BINARY_DIR}) - -# These directories are always needed. -SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} - ${OTB_SOURCE_DIR}/Code/Common - ${OTB_SOURCE_DIR}/Code/BasicFilters - ${OTB_SOURCE_DIR}/Code/IO - ${OTB_SOURCE_DIR}/Code/ChangeDetection - ${OTB_SOURCE_DIR}/Code/FeatureExtraction - ${OTB_SOURCE_DIR}/Code/Learning - ${OTB_SOURCE_DIR}/Code/MultiScale - ${OTB_SOURCE_DIR}/Code/SpatialReasoning - ${OTB_SOURCE_DIR}/Code/DisparityMap - ${OTB_SOURCE_DIR}/Code/Visu - ${OTB_SOURCE_DIR}/Code/Gui - ${OTB_SOURCE_DIR}/Code/Fusion - ${OTB_SOURCE_DIR}/Code/Projections - ${OTB_SOURCE_DIR}/Code/Radiometry - ${OTB_SOURCE_DIR}/Code/Markov - ${OTB_SOURCE_DIR}/Utilities/BGL - ${OTB_SOURCE_DIR}/Utilities/BGL/boost - ${OTB_SOURCE_DIR}/Utilities/otbsvm - ${OTB_SOURCE_DIR}/Utilities/otbossim - ${OTB_SOURCE_DIR}/Utilities/otbossim/include - ${OTB_SOURCE_DIR}/Utilities/otbossim/include/ossim - ${OTB_SOURCE_DIR}/Utilities/dxflib - ${OTB_SOURCE_DIR}/Utilities/InsightJournal - ${OTB_SOURCE_DIR}/Utilities/otb6S - ${OTB_SOURCE_DIR}/Utilities/otbgeotiff - ${OTB_SOURCE_DIR}/Utilities/otbgeotiff/libxtiff -) - -#----------------------------------------------------------------------------- -# Include directories from the ossim build tree -SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} -${OTB_BINARY_DIR}/Utilities/otbossim/include -) - - -#----------------------------------------------------------------------------- -# Include directories from the GDAL build tree. -SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} - ${GDAL_INCLUDE_DIRS} ) - -#----------------------------------------------------------------------------- -# Include directories from the ITK build tree.e -IF(OTB_USE_EXTERNAL_ITK) -# INCLUDE(${ITK_SOURCE_DIR}/Utilities/itkThirdParty.cmake) -# INCLUDE(${ITK_SOURCE_DIR}/itkIncludeDirectories.cmake) -# SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} -# ${ITK_SOURCE_DIR}/Utilities/vxl/v3p/netlib -# ${ITK_SOURCE_DIR}/Utilities/vxl/v3p/netlib/opt) - SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} - ${ITK_INCLUDE_DIRS} ) -ELSE(OTB_USE_EXTERNAL_ITK) - IF(NOT ITK_INSTALL_INCLUDE_DIR) - SET(ITK_INSTALL_INCLUDE_DIR "/include/otb/Utilities/ITK") - ENDIF(NOT ITK_INSTALL_INCLUDE_DIR) - INCLUDE(${OTB_SOURCE_DIR}/Utilities/ITK/Utilities/itkThirdParty.cmake) - INCLUDE(${OTB_SOURCE_DIR}/Utilities/ITK/itkIncludeDirectories.cmake) - SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} - ${OTB_SOURCE_DIR}/Utilities/ITK/Utilities/vxl/v3p/netlib - ${OTB_SOURCE_DIR}/Utilities/ITK/Utilities/vxl/v3p/netlib/opt) -ENDIF(OTB_USE_EXTERNAL_ITK) - - -#----------------------------------------------------------------------------- -# Include directories needed for .cxx files in OTB. These include -# directories will NOT be available to user projects. -SET(OTB_INCLUDE_DIRS_BUILD_TREE_CXX) - -SET(OTB_INCLUDE_DIRS_BUILD_TREE_CXX ${OTB_INCLUDE_DIRS_BUILD_TREE_CXX} ) - -SET(OTB_INCLUDE_DIRS_BUILD_TREE_CXX ${OTB_INCLUDE_DIRS_BUILD_TREE_CXX} - ${GDAL_INCLUDE_DIRS} ${FLTK_INCLUDE_DIRS} ) - -IF(OTB_USE_EXTERNAL_ITK) - SET(OTB_INCLUDE_DIRS_BUILD_TREE_CXX ${OTB_INCLUDE_DIRS_BUILD_TREE_CXX} - ${ITK_INCLUDE_DIRS} ) -# ${ITK_INCLUDE_DIRS_INSTALL_TREE} ) -ELSE(OTB_USE_EXTERNAL_ITK) - SET(OTB_INCLUDE_DIRS_BUILD_TREE_CXX ${OTB_INCLUDE_DIRS_BUILD_TREE_CXX} - ${ITK_INCLUDE_DIRS_BUILD_TREE} - ${ITK_INCLUDE_DIRS_BUILD_TREE_CXX} ) -ENDIF(OTB_USE_EXTERNAL_ITK) - -#----------------------------------------------------------------------------- -# Include directories from the install tree. -SET(OTB_INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib/otb") -SET(OTB_INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin") -SET(OTB_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include/otb") -SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE} - ${OTB_INSTALL_INCLUDE_DIR} - ${OTB_INSTALL_INCLUDE_DIR}/Common - ${OTB_INSTALL_INCLUDE_DIR}/BasicFilters - ${OTB_INSTALL_INCLUDE_DIR}/IO - ${OTB_INSTALL_INCLUDE_DIR}/ChangeDetection - ${OTB_INSTALL_INCLUDE_DIR}/FeatureExtraction - ${OTB_INSTALL_INCLUDE_DIR}/Learning - ${OTB_INSTALL_INCLUDE_DIR}/MultiScale - ${OTB_INSTALL_INCLUDE_DIR}/SpatialReasoning - ${OTB_INSTALL_INCLUDE_DIR}/DisparityMap - ${OTB_INSTALL_INCLUDE_DIR}/Visu - ${OTB_INSTALL_INCLUDE_DIR}/Gui - ${OTB_INSTALL_INCLUDE_DIR}/Projections - ${OTB_INSTALL_INCLUDE_DIR}/Radiometry - ${OTB_INSTALL_INCLUDE_DIR}/Markov - ${OTB_INSTALL_INCLUDE_DIR}/Utilities - ${OTB_INSTALL_INCLUDE_DIR}/Utilities/ITK - ${OTB_INSTALL_INCLUDE_DIR}/Utilities/BGL - ${OTB_INSTALL_INCLUDE_DIR}/Utilities/BGL/boost - ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbsvm - ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbossim - ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbossim/include - ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbossim/include/ossim - ${OTB_INSTALL_INCLUDE_DIR}/Utilities/InsightJournal - ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otb6S - ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbgeotiff - ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbgeotiff/libxtiff -) - -SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE} - ${GDAL_INCLUDE_DIRS} ${FLTK_INCLUDE_DIRS}) - -IF(OTB_USE_EXTERNAL_ITK) - SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE} - ${ITK_INCLUDE_DIRS} ) -# ${ITK_INCLUDE_DIRS_INSTALL_TREE} ) -ELSE(OTB_USE_EXTERNAL_ITK) -#THOMAS - SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE} - ${ITK_INCLUDE_DIRS_INSTALL_TREE} ) -# ${ITK_INCLUDE_DIRS_BUILD_TREE} -# ${ITK_INCLUDE_DIRS_BUILD_TREE_CXX} ) -ENDIF(OTB_USE_EXTERNAL_ITK) +# $Id$ +#----------------------------------------------------------------------------- +# Include directories for other projects installed on the system. +SET(OTB_INCLUDE_DIRS_SYSTEM "") + +#----------------------------------------------------------------------------- +# Include directories from the build tree. +SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_BINARY_DIR}) + +# These directories are always needed. +SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} + ${OTB_SOURCE_DIR}/Code/Common + ${OTB_SOURCE_DIR}/Code/BasicFilters + ${OTB_SOURCE_DIR}/Code/IO + ${OTB_SOURCE_DIR}/Code/ChangeDetection + ${OTB_SOURCE_DIR}/Code/FeatureExtraction + ${OTB_SOURCE_DIR}/Code/Learning + ${OTB_SOURCE_DIR}/Code/MultiScale + ${OTB_SOURCE_DIR}/Code/SpatialReasoning + ${OTB_SOURCE_DIR}/Code/DisparityMap + ${OTB_SOURCE_DIR}/Code/Visu + ${OTB_SOURCE_DIR}/Code/Gui + ${OTB_SOURCE_DIR}/Code/Fusion + ${OTB_SOURCE_DIR}/Code/Projections + ${OTB_SOURCE_DIR}/Code/Radiometry + ${OTB_SOURCE_DIR}/Code/Markov + ${OTB_SOURCE_DIR}/Utilities/BGL + ${OTB_SOURCE_DIR}/Utilities/BGL/boost + ${OTB_SOURCE_DIR}/Utilities/otbsvm + ${OTB_SOURCE_DIR}/Utilities/otbossim + ${OTB_SOURCE_DIR}/Utilities/otbossim/include + ${OTB_SOURCE_DIR}/Utilities/otbossim/include/ossim + ${OTB_SOURCE_DIR}/Utilities/dxflib + ${OTB_SOURCE_DIR}/Utilities/InsightJournal + ${OTB_SOURCE_DIR}/Utilities/otb6S + ${OTB_SOURCE_DIR}/Utilities/otbgeotiff + ${OTB_SOURCE_DIR}/Utilities/otbgeotiff/libxtiff +) + +#----------------------------------------------------------------------------- +# Include directories from the ossim build tree +SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} + ${OTB_BINARY_DIR}/Utilities/otbossim/include +) + + +#----------------------------------------------------------------------------- +# Include directories from the GDAL build tree. +SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} + ${GDAL_INCLUDE_DIRS} ) + +#----------------------------------------------------------------------------- +# Include directories from the ITK build tree. +IF(OTB_USE_EXTERNAL_ITK) +# INCLUDE(${ITK_SOURCE_DIR}/Utilities/itkThirdParty.cmake) +# INCLUDE(${ITK_SOURCE_DIR}/itkIncludeDirectories.cmake) +# SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} +# ${ITK_SOURCE_DIR}/Utilities/vxl/v3p/netlib +# ${ITK_SOURCE_DIR}/Utilities/vxl/v3p/netlib/opt) + SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} + ${ITK_INCLUDE_DIRS} ) +ELSE(OTB_USE_EXTERNAL_ITK) + IF(NOT ITK_INSTALL_INCLUDE_DIR) + SET(ITK_INSTALL_INCLUDE_DIR "/include/otb/Utilities/ITK") + ENDIF(NOT ITK_INSTALL_INCLUDE_DIR) + INCLUDE(${OTB_SOURCE_DIR}/Utilities/ITK/Utilities/itkThirdParty.cmake) + INCLUDE(${OTB_SOURCE_DIR}/Utilities/ITK/itkIncludeDirectories.cmake) + SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE} + ${OTB_SOURCE_DIR}/Utilities/ITK/Utilities/vxl/v3p/netlib + ${OTB_SOURCE_DIR}/Utilities/ITK/Utilities/vxl/v3p/netlib/opt) +ENDIF(OTB_USE_EXTERNAL_ITK) + + +#----------------------------------------------------------------------------- +# Include directories needed for .cxx files in OTB. These include +# directories will NOT be available to user projects. +SET(OTB_INCLUDE_DIRS_BUILD_TREE_CXX) + +SET(OTB_INCLUDE_DIRS_BUILD_TREE_CXX ${OTB_INCLUDE_DIRS_BUILD_TREE_CXX} ) + +#----------------------------------------------------------------------------- +# Include FLTK variables. +#IF(OTB_USE_EXTERNAL_FLTK) +# IF(NOT EXISTS "${FLTK_BINARY_DIR}/FLTKConfig.cmake") +# MESSAGE(FATAL_ERROR "Impossible to find the file ${FLTK_BINARY_DIR}/FLTKConfig.cmake. You must generate FLTK with cmake process.") +# ELSE(NOT EXISTS "${FLTK_BINARY_DIR}/FLTKConfig.cmake") +# INCLUDE(${FLTK_BINARY_DIR}/FLTKConfig.cmake) +# ENDIF(NOT EXISTS "${FLTK_BINARY_DIR}/FLTKConfig.cmake") +#ELSE(OTB_USE_EXTERNAL_FLTK) +# IF(EXISTS "${OTB_BINARY_DIR}/Utilities/FLTK/FLTKConfig.cmake") +# INCLUDE(${OTB_BINARY_DIR}/Utilities/FLTK/FLTKConfig.cmake) +# ENDIF(EXISTS "${OTB_BINARY_DIR}/Utilities/FLTK/FLTKConfig.cmake") +#ENDIF(OTB_USE_EXTERNAL_FLTK) + +#----------------------------------------------------------------------------- +# Include directories from the FLTK build tree. + +IF(OTB_USE_EXTERNAL_FLTK) + SET(OTB_INCLUDE_DIRS_BUILD_TREE_CXX ${OTB_INCLUDE_DIRS_BUILD_TREE_CXX} + ${FLTK_INCLUDE_DIRS} ) +ELSE(OTB_USE_EXTERNAL_FLTK) + SET(OTB_INCLUDE_DIRS_BUILD_TREE_CXX ${OTB_INCLUDE_DIRS_BUILD_TREE_CXX} + ${OTB_SOURCE_DIR}/Utilities/FLTK + ${OTB_SOURCE_DIR}/Utilities/FLTK/src + ${OTB_BINARY_DIR}/Utilities/FLTK ) +ENDIF(OTB_USE_EXTERNAL_FLTK) + + +SET(OTB_INCLUDE_DIRS_BUILD_TREE_CXX ${OTB_INCLUDE_DIRS_BUILD_TREE_CXX} + ${GDAL_INCLUDE_DIRS} ) + +IF(OTB_USE_EXTERNAL_ITK) + SET(OTB_INCLUDE_DIRS_BUILD_TREE_CXX ${OTB_INCLUDE_DIRS_BUILD_TREE_CXX} + ${ITK_INCLUDE_DIRS} ) +# ${ITK_INCLUDE_DIRS_INSTALL_TREE} ) +ELSE(OTB_USE_EXTERNAL_ITK) + SET(OTB_INCLUDE_DIRS_BUILD_TREE_CXX ${OTB_INCLUDE_DIRS_BUILD_TREE_CXX} + ${ITK_INCLUDE_DIRS_BUILD_TREE} + ${ITK_INCLUDE_DIRS_BUILD_TREE_CXX} ) +ENDIF(OTB_USE_EXTERNAL_ITK) + +#----------------------------------------------------------------------------- +# Include directories from the install tree. +SET(OTB_INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib/otb") +SET(OTB_INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin") +SET(OTB_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include/otb") +SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE} + ${OTB_INSTALL_INCLUDE_DIR} + ${OTB_INSTALL_INCLUDE_DIR}/Common + ${OTB_INSTALL_INCLUDE_DIR}/BasicFilters + ${OTB_INSTALL_INCLUDE_DIR}/IO + ${OTB_INSTALL_INCLUDE_DIR}/ChangeDetection + ${OTB_INSTALL_INCLUDE_DIR}/FeatureExtraction + ${OTB_INSTALL_INCLUDE_DIR}/Learning + ${OTB_INSTALL_INCLUDE_DIR}/MultiScale + ${OTB_INSTALL_INCLUDE_DIR}/SpatialReasoning + ${OTB_INSTALL_INCLUDE_DIR}/DisparityMap + ${OTB_INSTALL_INCLUDE_DIR}/Visu + ${OTB_INSTALL_INCLUDE_DIR}/Gui + ${OTB_INSTALL_INCLUDE_DIR}/Projections + ${OTB_INSTALL_INCLUDE_DIR}/Radiometry + ${OTB_INSTALL_INCLUDE_DIR}/Markov + ${OTB_INSTALL_INCLUDE_DIR}/Utilities + ${OTB_INSTALL_INCLUDE_DIR}/Utilities/ITK + ${OTB_INSTALL_INCLUDE_DIR}/Utilities/BGL + ${OTB_INSTALL_INCLUDE_DIR}/Utilities/BGL/boost + ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbsvm + ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbossim + ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbossim/include + ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbossim/include/ossim + ${OTB_INSTALL_INCLUDE_DIR}/Utilities/InsightJournal + ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otb6S + ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbgeotiff + ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbgeotiff/libxtiff +) + +SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE} + ${GDAL_INCLUDE_DIRS} ) + +IF(OTB_USE_EXTERNAL_FLTK) + SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE} + ${FLTK_INCLUDE_DIRS}) +ELSE(OTB_USE_EXTERNAL_FLTK) + SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE} + ${OTB_INSTALL_INCLUDE_DIR}/Utilities/FLTK) +ENDIF(OTB_USE_EXTERNAL_FLTK) + +IF(OTB_USE_EXTERNAL_ITK) + SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE} + ${ITK_INCLUDE_DIRS} ) +# ${ITK_INCLUDE_DIRS_INSTALL_TREE} ) +ELSE(OTB_USE_EXTERNAL_ITK) +#THOMAS + SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE} + ${ITK_INCLUDE_DIRS_INSTALL_TREE} ) +# ${ITK_INCLUDE_DIRS_BUILD_TREE} +# ${ITK_INCLUDE_DIRS_BUILD_TREE_CXX} ) +ENDIF(OTB_USE_EXTERNAL_ITK) -- GitLab