From f4ae454687779ca01398e18dae7898dc52a612b0 Mon Sep 17 00:00:00 2001
From: Thomas Feuvrier <thomas.feuvrier@c-s.fr>
Date: Fri, 13 Jun 2008 07:24:38 +0000
Subject: [PATCH] =?UTF-8?q?Correction=20sur=20la=20gestion=20des=20options?=
 =?UTF-8?q?=20du=20JPEG2000=20:=20Si=20ITK=20en=20externe,=20JPEG2000=20es?=
 =?UTF-8?q?t=20d=C3=A9sactiv=C3=A9.=20Modf=20des=20CMakeLists.txt=20des=20?=
 =?UTF-8?q?IO,=20Testing/IO,=20Testing/Utilities?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CMakeLists.txt                   | 17 +++++++++-------
 Code/IO/CMakeLists.txt           |  6 ++----
 Code/IO/otbImageIOFactory.cxx    | 18 ++++++++--------
 Testing/Code/IO/CMakeLists.txt   | 35 ++++++++++++++++----------------
 Testing/Code/IO/otbIOTests13.cxx |  8 ++------
 Utilities/CMakeLists.txt         |  6 +++---
 6 files changed, 44 insertions(+), 46 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b7e104168b..0fe6488d77 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -72,11 +72,7 @@ OPTION(BUILD_TESTING "Build testing." OFF)
 # Case for release 2.2.1
 # Use the openjpeg library.
 OPTION(OTB_USE_JPEG2000 "Use to support jpeg2000 image file format." OFF)
-MARK_AS_ADVANCED(OTB_USE_JPEG2000)
-# Add compiler option
-IF(OTB_USE_JPEG2000)
-ADD_DEFINITIONS(-DOTB_USE_JPEG2000)
-ENDIF(OTB_USE_JPEG2000)
+#MARK_AS_ADVANCED(OTB_USE_JPEG2000)
 
 #-----------------------------------------------------------------------------
 
@@ -89,8 +85,10 @@ ENDIF(OTB_USE_JPEG2000)
 
 OPTION(OTB_USE_EXTERNAL_ITK "Use an outside build of ITK." OFF)
 IF(OTB_USE_EXTERNAL_ITK)
-# Commented for release 2.2.0
-#  MESSAGE(STATUS "WARNING: Due to conflicting libraries, jpeg2000 support is disabled when using external ITK.")
+  # Case for release 2.2.1
+  IF(OTB_USE_JPEG2000)
+        MESSAGE(STATUS "WARNING: Due to conflicting libraries, jpeg2000 support is disabled when using external ITK.")
+  ENDIF(OTB_USE_JPEG2000)
   FIND_PACKAGE(ITK)
   IF(ITK_FOUND)
         INCLUDE(${ITK_USE_FILE})
@@ -98,6 +96,11 @@ IF(OTB_USE_EXTERNAL_ITK)
         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)
+ELSE(OTB_USE_EXTERNAL_ITK)
+  # Add compiler option
+  IF(OTB_USE_JPEG2000)
+        ADD_DEFINITIONS(-DOTB_USE_JPEG2000)
+  ENDIF(OTB_USE_JPEG2000)
 ENDIF(OTB_USE_EXTERNAL_ITK)
 
 #-----------------------------------------------------------------------------
diff --git a/Code/IO/CMakeLists.txt b/Code/IO/CMakeLists.txt
index 0b16454e72..4402cf9fdf 100755
--- a/Code/IO/CMakeLists.txt
+++ b/Code/IO/CMakeLists.txt
@@ -3,13 +3,11 @@
 FILE(GLOB OTBIO_SRCS "*.cxx" )
 
 # Case for release 2.2.1
-IF(OTB_USE_EXTERNAL_ITK)
-  IF(NOT OTB_USE_JPEG2000)
+IF(OTB_USE_EXTERNAL_ITK OR NOT OTB_USE_JPEG2000)
     LIST(REMOVE_ITEM OTBIO_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/otbJPEG2000ImageIO.cxx" )
     LIST(REMOVE_ITEM OTBIO_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/otbJPEG2000ImageIOFactory.cxx" )
     ADD_DEFINITIONS(-DOTB_JPEG2000_DISABLED)
-  ENDIF(NOT OTB_USE_JPEG2000)
-ENDIF(OTB_USE_EXTERNAL_ITK)
+ENDIF(OTB_USE_EXTERNAL_ITK OR NOT OTB_USE_JPEG2000)
 
 IF( NOT OTB_USE_CURL )
     LIST(REMOVE_ITEM OTBIO_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/otbTileMapImageIOFactory.cxx" )
diff --git a/Code/IO/otbImageIOFactory.cxx b/Code/IO/otbImageIOFactory.cxx
index d38bbf7e9d..5f499c137e 100755
--- a/Code/IO/otbImageIOFactory.cxx
+++ b/Code/IO/otbImageIOFactory.cxx
@@ -28,10 +28,12 @@
 #include "otbGDALImageIOFactory.h"
 #include "otbLUMImageIOFactory.h"
 #include "otbBSQImageIOFactory.h"
-// Commented for release 2.2.0
-//#ifndef OTB_JPEG2000_DISABLED
-//#include "otbJPEG2000ImageIOFactory.h"
-//#endif
+
+// Case for release 2.2.1
+#ifdef OTB_USE_JPEG2000
+#include "otbJPEG2000ImageIOFactory.h"
+#endif
+
 #ifdef OTB_USE_CURL
 #include "otbTileMapImageIOFactory.h"
 #endif
@@ -66,11 +68,11 @@ namespace otb
 	    // LUM format for OTB
             itk::ObjectFactoryBase::RegisterFactory( LUMImageIOFactory::New() );			
 
-	    // Commented for release 2.2.0                        
-            // #ifndef OTB_JPEG2000_DISABLED
+#ifdef OTB_USE_JPEG2000
+	    // Case for release 2.2.1
 	    // JPEG2000 : New format for OTB
-            // itk::ObjectFactoryBase::RegisterFactory( JPEG2000ImageIOFactory::New() );
-            // #endif
+            itk::ObjectFactoryBase::RegisterFactory( JPEG2000ImageIOFactory::New() );
+#endif
 	    
 	    // GDAL : New format for OTB
             itk::ObjectFactoryBase::RegisterFactory( GDALImageIOFactory::New() );            
diff --git a/Testing/Code/IO/CMakeLists.txt b/Testing/Code/IO/CMakeLists.txt
index 6b269ce827..f5491f97e4 100755
--- a/Testing/Code/IO/CMakeLists.txt
+++ b/Testing/Code/IO/CMakeLists.txt
@@ -30,7 +30,12 @@ SET(IO_TESTS9     ${CXX_TEST_PATH}/otbIOTests9)
 SET(IO_TESTS10    ${CXX_TEST_PATH}/otbIOTests10)
 SET(IO_TESTS11    ${CXX_TEST_PATH}/otbIOTests11)
 SET(IO_TESTS12    ${CXX_TEST_PATH}/otbIOTests12)
-SET(IO_TESTS13    ${CXX_TEST_PATH}/otbIOTests13)
+
+# Case for release 2.2.1
+IF(OTB_USE_JPEG2000 AND NOT OTB_USE_EXTERNAL_ITK)
+   SET(IO_TESTS13    ${CXX_TEST_PATH}/otbIOTests13)
+ENDIF(OTB_USE_JPEG2000 AND NOT OTB_USE_EXTERNAL_ITK)
+
 SET(IO_TESTS14    ${CXX_TEST_PATH}/otbIOTests14)
 SET(IO_TESTS15    ${CXX_TEST_PATH}/otbIOTests15)
 
@@ -1271,8 +1276,7 @@ ADD_TEST(ioTvossimElevManagerTest ${IO_TESTS12}
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 
 # Case for release 2.2.1
-IF(OTB_USE_JPEG2000)
-IF(NOT OTB_USE_EXTERNAL_ITK)
+IF(OTB_USE_JPEG2000 AND NOT OTB_USE_EXTERNAL_ITK)
 
 # ---  JPEG2000 can read ---
 ADD_TEST(ioTuJ2KImageIOCanRead ${IO_TESTS13} 
@@ -1326,8 +1330,8 @@ ADD_TEST(ioTuJPEG2000ImageIOCanWrite ${IO_TESTS13}
          otbJPEG2000ImageIOTestCanWrite
          ${INPUTDATA}/toto.j2k
          )
-ENDIF(NOT OTB_USE_EXTERNAL_ITK)
-ENDIF(OTB_USE_JPEG2000)
+
+ENDIF(OTB_USE_JPEG2000 AND NOT OTB_USE_EXTERNAL_ITK)
 
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ otbIOTESTS14 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1495,20 +1499,14 @@ otbOssimElevManagerTest.cxx
 )
 
 
-IF(OTB_USE_JPEG2000)
+# Case for release 2.2.1
+IF(OTB_USE_JPEG2000 AND NOT OTB_USE_EXTERNAL_ITK)
 SET(BasicIO_SRCS13
 otbJPEG2000ImageIOTestCanRead.cxx
 otbJPEG2000ImageIOTestCanWrite.cxx
 )
-ENDIF(OTB_USE_JPEG2000)
+ENDIF(OTB_USE_JPEG2000 AND NOT OTB_USE_EXTERNAL_ITK)
 
-# Case for release 2.2.1
-IF(OTB_USE_JPEG2000)
-  IF(OTB_USE_EXTERNAL_ITK)
-    LIST(REMOVE_ITEM BasicIO_SRCS13 "${CMAKE_CURRENT_SOURCE_DIR}/otbJPEG2000ImageIOTestCanRead.cxx" )
-    LIST(REMOVE_ITEM BasicIO_SRCS13 "${CMAKE_CURRENT_SOURCE_DIR}/otbJPEG2000ImageIOTestCanWrite.cxx" )
-  ENDIF(OTB_USE_EXTERNAL_ITK)
-ENDIF(OTB_USE_JPEG2000)
 
 SET(BasicIO_SRCS14
 otbOGRDriverTest.cxx
@@ -1568,10 +1566,11 @@ TARGET_LINK_LIBRARIES(otbIOTests11 OTBIO OTBCommon  gdal ITKIO ITKCommon dxf)
 ADD_EXECUTABLE(otbIOTests12 otbIOTests12.cxx ${BasicIO_SRCS12})
 TARGET_LINK_LIBRARIES(otbIOTests12 OTBIO OTBCommon  gdal ITKIO ITKCommon dxf)
 
-IF(NOT OTB_USE_EXTERNAL_ITK)
-ADD_EXECUTABLE(otbIOTests13 otbIOTests13.cxx ${BasicIO_SRCS13})
-TARGET_LINK_LIBRARIES(otbIOTests13 OTBIO OTBCommon  gdal ITKIO ITKCommon dxf)
-ENDIF(NOT OTB_USE_EXTERNAL_ITK)
+# Case for releae 2.2.1
+IF(OTB_USE_JPEG2000 AND NOT OTB_USE_EXTERNAL_ITK)
+   ADD_EXECUTABLE(otbIOTests13 otbIOTests13.cxx ${BasicIO_SRCS13})
+   TARGET_LINK_LIBRARIES(otbIOTests13 OTBIO OTBCommon  gdal ITKIO ITKCommon dxf otbopenjpeg)
+ENDIF(OTB_USE_JPEG2000 AND NOT OTB_USE_EXTERNAL_ITK)
 
 ADD_EXECUTABLE(otbIOTests14 otbIOTests14.cxx ${BasicIO_SRCS14})
 TARGET_LINK_LIBRARIES(otbIOTests14 OTBIO OTBCommon  gdal ITKIO ITKCommon dxf)
diff --git a/Testing/Code/IO/otbIOTests13.cxx b/Testing/Code/IO/otbIOTests13.cxx
index 4bcba2ea4c..0967954cd6 100644
--- a/Testing/Code/IO/otbIOTests13.cxx
+++ b/Testing/Code/IO/otbIOTests13.cxx
@@ -28,10 +28,6 @@
 
 void RegisterTests()
 {
-  //# Case for release 2.2.1
-  if(OTB_USE_JPEG2000)
-    {
-      REGISTER_TEST(otbJPEG2000ImageIOTestCanRead);
-      REGISTER_TEST(otbJPEG2000ImageIOTestCanWrite);
-    }
+        REGISTER_TEST(otbJPEG2000ImageIOTestCanRead);
+        REGISTER_TEST(otbJPEG2000ImageIOTestCanWrite);
 }
diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt
index c4270a4ee4..bcffe8b68b 100755
--- a/Utilities/CMakeLists.txt
+++ b/Utilities/CMakeLists.txt
@@ -4,9 +4,9 @@
 IF(NOT OTB_USE_EXTERNAL_ITK)
   SUBDIRS(ITK)
   # Case for release 2.2.1
-  IF(NOT OTB_USE_JPEG2000)
-    SUBDIRS( ITK otbopenjpeg)
-  ENDIF(NOT OTB_USE_JPEG2000)
+  IF(OTB_USE_JPEG2000)
+    SUBDIRS( otbopenjpeg)
+  ENDIF(OTB_USE_JPEG2000)
 ENDIF(NOT OTB_USE_EXTERNAL_ITK)
 
 IF(OTB_USE_VISU_GUI)
-- 
GitLab