From b3f697f435cd1be2840b67d9f15a3e745b7bdc1a Mon Sep 17 00:00:00 2001
From: Christophe Palmann <christophe.palmann@c-s.fr>
Date: Tue, 21 Apr 2015 10:16:31 +0200
Subject: [PATCH] ENH: gdal-config (bool GDAL_CONFIG_CHECKING)

---
 Modules/ThirdParty/GDAL/CMakeLists.txt        |   2 +
 Modules/ThirdParty/GDAL/otb-module-init.cmake | 275 +++++++++---------
 2 files changed, 142 insertions(+), 135 deletions(-)

diff --git a/Modules/ThirdParty/GDAL/CMakeLists.txt b/Modules/ThirdParty/GDAL/CMakeLists.txt
index cd42ac614f..0df9914416 100644
--- a/Modules/ThirdParty/GDAL/CMakeLists.txt
+++ b/Modules/ThirdParty/GDAL/CMakeLists.txt
@@ -3,4 +3,6 @@ project(OTBGDAL)
 set(OTBGDAL_SYSTEM_INCLUDE_DIRS ${GDAL_INCLUDE_DIRS})
 set(OTBGDAL_LIBRARIES "${GDAL_LIBRARIES}")
 
+set(GDAL_CONFIG_CHECKING ON CACHE BOOL "Tests to check gdal config." FORCE)
+
 otb_module_impl()
diff --git a/Modules/ThirdParty/GDAL/otb-module-init.cmake b/Modules/ThirdParty/GDAL/otb-module-init.cmake
index f7fed58376..29ce192746 100644
--- a/Modules/ThirdParty/GDAL/otb-module-init.cmake
+++ b/Modules/ThirdParty/GDAL/otb-module-init.cmake
@@ -8,179 +8,184 @@ if(NOT GDAL_FOUND)
  message(FATAL_ERROR "Cannot find GDAL. Set GDAL_INCLUDE_DIR and GDAL_LIBRARY")
 endif()
 
-message(STATUS "Check if Gdal qualifies for Orfeo ToolBox")
+if(GDAL_CONFIG_CHECKING)
 
-set(MIN_MAJOR_VERSION 1)
-set(MIN_MINOR_VERSION 10)
+	message(STATUS "Check if Gdal qualifies for Orfeo ToolBox")
 
-set(GDAL_QUALIFIES TRUE)
+	set(MIN_MAJOR_VERSION 1)
+	set(MIN_MINOR_VERSION 10)
 
-# Ensure that the temporary dir always exists before starting tests
-if(NOT EXISTS ${TEMP})
-  FILE(MAKE_DIRECTORY ${TEMP})
-endif()
-
-#------------------- TESTS ---------------------
-# Version of GDAL  
-try_run(RUN_RESULT_VERSION COMPILE_RESULT_VERSION ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalVersionTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/gdalVersion.txt ${MIN_MAJOR_VERSION} ${MIN_MINOR_VERSION})
+	set(GDAL_QUALIFIES TRUE)
 
-# Has OGR
-try_compile(GDAL_HAS_OGR ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalOGRTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}")
+	# Ensure that the temporary dir always exists before starting tests
+	if(NOT EXISTS ${TEMP})
+	  FILE(MAKE_DIRECTORY ${TEMP})
+	endif()
 
+	#------------------- TESTS ---------------------
+	# Version of GDAL  
+	try_run(RUN_RESULT_VERSION COMPILE_RESULT_VERSION ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalVersionTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/gdalVersion.txt ${MIN_MAJOR_VERSION} ${MIN_MINOR_VERSION})
 
-# Has formats JPEG2000 & JPEG & GTIF
-# Note : exact format names can be found here http://www.gdal.org/formats_list.html
-try_run(GDAL_HAS_J2K_OPJG COMPILE_RESULT_FORMATS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalFormatsTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS JP2OpenJPEG ${TEMP}/gdalFormats.txt ) 
-try_run(GDAL_HAS_J2K_KAK COMPILE_RESULT_FORMATS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalFormatsTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS JP2KAK ) # No need to output ${TEMP}/gdalFormats.txt everytime
-try_run(GDAL_HAS_J2K_ECW COMPILE_RESULT_FORMATS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalFormatsTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS JP2ECW ) 
-try_run(GDAL_HAS_J2K_JG2000 COMPILE_RESULT_FORMATS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalFormatsTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS JPEG2000 ) 
-try_run(GDAL_HAS_JPEG COMPILE_RESULT_FORMATS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalFormatsTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS JPEG ) 
-try_run(GDAL_HAS_GTIF COMPILE_RESULT_FORMATS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalFormatsTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS GTiff ) 
+	# Has OGR
+	try_compile(GDAL_HAS_OGR ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalOGRTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}")
 
 
-# Can create geotiff file
-if (GDAL_HAS_GTIF)
-	try_run(GDAL_CAN_CREATE_GEOTIFF COMPILE_RESULT_CREATE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS GTiff ${TEMP}/testImage.gtif )
-endif()
+	# Has formats JPEG2000 & JPEG & GTIF
+	# Note : exact format names can be found here http://www.gdal.org/formats_list.html
+	try_run(GDAL_HAS_J2K_OPJG COMPILE_RESULT_FORMATS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalFormatsTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS JP2OpenJPEG ${TEMP}/gdalFormats.txt ) 
+	try_run(GDAL_HAS_J2K_KAK COMPILE_RESULT_FORMATS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalFormatsTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS JP2KAK ) # No need to output ${TEMP}/gdalFormats.txt everytime
+	try_run(GDAL_HAS_J2K_ECW COMPILE_RESULT_FORMATS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalFormatsTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS JP2ECW ) 
+	try_run(GDAL_HAS_J2K_JG2000 COMPILE_RESULT_FORMATS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalFormatsTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS JPEG2000 ) 
+	try_run(GDAL_HAS_JPEG COMPILE_RESULT_FORMATS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalFormatsTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS JPEG ) 
+	try_run(GDAL_HAS_GTIF COMPILE_RESULT_FORMATS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalFormatsTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS GTiff ) 
 
-#Can create other format file
-if(COMPILE_RESULT_CREATE AND GDAL_CAN_CREATE_GEOTIFF) #Use the result of the previous try_run
 
-	# Can create bigtiff file 
+	# Can create geotiff file
 	if (GDAL_HAS_GTIF)
-		try_run(GDAL_CAN_CREATE_BIGTIFF COMPILE_RESULT_CREATECOPY ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/testImage.gtif ${TEMP}/testImage.bigtif GTiff "BIGTIFF=YES")
+		try_run(GDAL_CAN_CREATE_GEOTIFF COMPILE_RESULT_CREATE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS GTiff ${TEMP}/testImage.gtif )
 	endif()
 
-	# Can create jpeg file 
-	if (GDAL_HAS_JPEG)
-		try_run(GDAL_CAN_CREATE_JPEG COMPILE_RESULT_CREATECOPY ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/testImage.gtif ${TEMP}/testImage.jpeg JPEG)
-	endif()
-	
-	# Can create jpeg2000 file
-	if (GDAL_HAS_J2K_OPJG)
-		try_run(GDAL_CAN_CREATE_JPEG2000 COMPILE_RESULT_CREATECOPY ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/testImage.gtif ${TEMP}/testImage.j2k JP2OpenJPEG)
-	endif()
-	
-	if (GDAL_HAS_J2K_KAK AND NOT GDAL_CAN_CREATE_JPEG2000)
-		try_run(GDAL_CAN_CREATE_JPEG2000 COMPILE_RESULT_CREATECOPY ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/testImage.gtif ${TEMP}/testImage.j2k JP2KAK)
-	endif()
-	
-	if (GDAL_HAS_J2K_ECW AND NOT GDAL_CAN_CREATE_JPEG2000)
-		try_run(GDAL_CAN_CREATE_JPEG2000 COMPILE_RESULT_CREATECOPY ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/testImage.gtif ${TEMP}/testImage.j2k JP2ECW)
-	endif()
-	
-	if (GDAL_HAS_J2K_JG2000 AND NOT GDAL_CAN_CREATE_JPEG2000)
-		try_run(GDAL_CAN_CREATE_JPEG2000 COMPILE_RESULT_CREATECOPY ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/testImage.gtif ${TEMP}/testImage.j2k JPEG2000)
-	endif()
+	#Can create other format file
+	if(COMPILE_RESULT_CREATE AND GDAL_CAN_CREATE_GEOTIFF) #Use the result of the previous try_run
 
-endif()
-#------------------- TESTS (END)---------------------
+		# Can create bigtiff file 
+		if (GDAL_HAS_GTIF)
+			try_run(GDAL_CAN_CREATE_BIGTIFF COMPILE_RESULT_CREATECOPY ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/testImage.gtif ${TEMP}/testImage.bigtif GTiff "BIGTIFF=YES")
+		endif()
 
+		# Can create jpeg file 
+		if (GDAL_HAS_JPEG)
+			try_run(GDAL_CAN_CREATE_JPEG COMPILE_RESULT_CREATECOPY ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/testImage.gtif ${TEMP}/testImage.jpeg JPEG)
+		endif()
+		
+		# Can create jpeg2000 file
+		if (GDAL_HAS_J2K_OPJG)
+			try_run(GDAL_CAN_CREATE_JPEG2000 COMPILE_RESULT_CREATECOPY ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/testImage.gtif ${TEMP}/testImage.j2k JP2OpenJPEG)
+		endif()
+		
+		if (GDAL_HAS_J2K_KAK AND NOT GDAL_CAN_CREATE_JPEG2000)
+			try_run(GDAL_CAN_CREATE_JPEG2000 COMPILE_RESULT_CREATECOPY ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/testImage.gtif ${TEMP}/testImage.j2k JP2KAK)
+		endif()
+		
+		if (GDAL_HAS_J2K_ECW AND NOT GDAL_CAN_CREATE_JPEG2000)
+			try_run(GDAL_CAN_CREATE_JPEG2000 COMPILE_RESULT_CREATECOPY ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/testImage.gtif ${TEMP}/testImage.j2k JP2ECW)
+		endif()
+		
+		if (GDAL_HAS_J2K_JG2000 AND NOT GDAL_CAN_CREATE_JPEG2000)
+			try_run(GDAL_CAN_CREATE_JPEG2000 COMPILE_RESULT_CREATECOPY ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${GDAL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${GDAL_LIBRARY}" ARGS ${TEMP}/testImage.gtif ${TEMP}/testImage.j2k JPEG2000)
+		endif()
 
-# Warning messages
-if (NOT COMPILE_RESULT_VERSION)
-	message(WARNING "Modules/ThirdParty/GDAL/gdalVersionTest.cxx did not compile.")
-elseif (${RUN_RESULT_VERSION} EQUAL 1)
-	file(READ "${TEMP}/gdalVersion.txt" DETECTED_VERSION)
-	message(WARNING "Version of GDAL must be >= " ${MIN_MAJOR_VERSION} "." ${MIN_MINOR_VERSION} " : " ${DETECTED_VERSION} " detected.")
-	set(GDAL_QUALIFIES FALSE)
-endif()
-	
-if (NOT GDAL_HAS_OGR)
-	message(WARNING "GDAL doesn't expose OGR library symbols.")
-	set(GDAL_QUALIFIES FALSE)
-endif()
+	endif()
+	#------------------- TESTS (END)---------------------
 
-if (NOT COMPILE_RESULT_FORMATS)
-	message(WARNING "Modules/ThirdParty/GDAL/gdalFormatsTest.cxx did not compile.")
-else()
 
-	if (NOT GDAL_HAS_J2K_JG2000 AND NOT GDAL_HAS_J2K_OPJG AND NOT GDAL_HAS_J2K_KAK AND NOT GDAL_HAS_J2K_ECW)
-	message(WARNING "No Jpeg2000 driver found (compatible drivers are : OpenJpeg, Kakadu, ECW).")
-	set(GDAL_QUALIFIES FALSE)
+	# Warning messages
+	if (NOT COMPILE_RESULT_VERSION)
+		message(WARNING "Modules/ThirdParty/GDAL/gdalVersionTest.cxx did not compile.")
+	elseif (${RUN_RESULT_VERSION} EQUAL 1)
+		file(READ "${TEMP}/gdalVersion.txt" DETECTED_VERSION)
+		message(WARNING "Version of GDAL must be >= " ${MIN_MAJOR_VERSION} "." ${MIN_MINOR_VERSION} " : " ${DETECTED_VERSION} " detected.")
+		set(GDAL_QUALIFIES FALSE)
 	endif()
 		
-	if (NOT GDAL_HAS_JPEG)
-	message(WARNING "No jpeg driver found.")
-	set(GDAL_QUALIFIES FALSE)
-	endif()
-	
-	if (NOT GDAL_HAS_GTIF)
-	message(WARNING "No geotiff driver found.")
-	set(GDAL_QUALIFIES FALSE)
+	if (NOT GDAL_HAS_OGR)
+		message(WARNING "GDAL doesn't expose OGR library symbols.")
+		set(GDAL_QUALIFIES FALSE)
 	endif()
-	
-endif()
 
+	if (NOT COMPILE_RESULT_FORMATS)
+		message(WARNING "Modules/ThirdParty/GDAL/gdalFormatsTest.cxx did not compile.")
+	else()
 
-if (NOT COMPILE_RESULT_CREATE)
-	message(WARNING "Modules/ThirdParty/GDAL/gdalCreateTest.cxx did not compile.")
-	
-elseif (NOT GDAL_CAN_CREATE_GEOTIFF)
-		message(WARNING "GDAL can't create geotiff files.")
+		if (NOT GDAL_HAS_J2K_JG2000 AND NOT GDAL_HAS_J2K_OPJG AND NOT GDAL_HAS_J2K_KAK AND NOT GDAL_HAS_J2K_ECW)
+		message(WARNING "No Jpeg2000 driver found (compatible drivers are : OpenJpeg, Kakadu, ECW).")
 		set(GDAL_QUALIFIES FALSE)
-endif()
-	
+		endif()
+			
+		if (NOT GDAL_HAS_JPEG)
+		message(WARNING "No jpeg driver found.")
+		set(GDAL_QUALIFIES FALSE)
+		endif()
+		
+		if (NOT GDAL_HAS_GTIF)
+		message(WARNING "No geotiff driver found.")
+		set(GDAL_QUALIFIES FALSE)
+		endif()
+		
+	endif()
 
-if (NOT COMPILE_RESULT_CREATECOPY)
-	message(WARNING "Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx did not compile.")
-	
-else()
 
-	if (NOT GDAL_CAN_CREATE_BIGTIFF)
-		message(WARNING "No BIGTIFF capatilities.")
-		set(GDAL_QUALIFIES FALSE)
+	if (NOT COMPILE_RESULT_CREATE)
+		message(WARNING "Modules/ThirdParty/GDAL/gdalCreateTest.cxx did not compile.")
+		
+	elseif (NOT GDAL_CAN_CREATE_GEOTIFF)
+			message(WARNING "GDAL can't create geotiff files.")
+			set(GDAL_QUALIFIES FALSE)
 	endif()
+		
 
-	if (NOT GDAL_CAN_CREATE_JPEG)
-		message(WARNING "GDAL can't create jpeg files.")
-		set(GDAL_QUALIFIES FALSE)
+	if (NOT COMPILE_RESULT_CREATECOPY)
+		message(WARNING "Modules/ThirdParty/GDAL/gdalCreateCopyTest.cxx did not compile.")
+		
+	else()
+
+		if (NOT GDAL_CAN_CREATE_BIGTIFF)
+			message(WARNING "No BIGTIFF capatilities.")
+			set(GDAL_QUALIFIES FALSE)
+		endif()
+
+		if (NOT GDAL_CAN_CREATE_JPEG)
+			message(WARNING "GDAL can't create jpeg files.")
+			set(GDAL_QUALIFIES FALSE)
+		endif()
+		
+		if (NOT GDAL_CAN_CREATE_JPEG2000)
+			message(WARNING "GDAL can't create jpeg2000 files.")
+			set(GDAL_QUALIFIES FALSE)
+		endif()	
+		
 	endif()
-	
-	if (NOT GDAL_CAN_CREATE_JPEG2000)
-		message(WARNING "GDAL can't create jpeg2000 files.")
-		set(GDAL_QUALIFIES FALSE)
-	endif()	
-	
-endif()
 
 
 
 
-#FOR UNIX SYSTEMS ONLY
-if(UNIX)
-  
-  if(GDAL_QUALIFIES)
-  
-		# Prepare bash script
-		configure_file(${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalTest.sh.in ${CMAKE_CURRENT_BINARY_DIR}/gdalTest.sh @ONLY)
-		execute_process(COMMAND chmod u+x ${CMAKE_CURRENT_BINARY_DIR}/gdalTest.sh)
-		execute_process(COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gdalTest.sh)
+	#FOR UNIX SYSTEMS ONLY
+	if(UNIX)
+	  
+	  if(GDAL_QUALIFIES)
+	  
+			# Prepare bash script
+			configure_file(${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalTest.sh.in ${CMAKE_CURRENT_BINARY_DIR}/gdalTest.sh @ONLY)
+			execute_process(COMMAND chmod u+x ${CMAKE_CURRENT_BINARY_DIR}/gdalTest.sh)
+			execute_process(COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gdalTest.sh)
 
 
-		#------------------- TESTS ---------------------
-		# test libtiff/libgeotiff and test if symbols are renamed (only for internal libtiff/libgeotiff)
-		try_run(RUN_RESULT_SYMBOLS COMPILE_RESULT_SYMBOLS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalSymbolsTest.cxx ARGS ${TEMP}/gdalSymbols.txt)
-		#------------------- TESTS (END)---------------------
+			#------------------- TESTS ---------------------
+			# test libtiff/libgeotiff and test if symbols are renamed (only for internal libtiff/libgeotiff)
+			try_run(RUN_RESULT_SYMBOLS COMPILE_RESULT_SYMBOLS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Modules/ThirdParty/GDAL/gdalSymbolsTest.cxx ARGS ${TEMP}/gdalSymbols.txt)
+			#------------------- TESTS (END)---------------------
 
 
-		# Warning messages
-		if (NOT COMPILE_RESULT_SYMBOLS)
-			message(WARNING "Modules/ThirdParty/GDAL/gdalSymbolsTest.cxx did not compile.")
-		elseif (${RUN_RESULT_SYMBOLS} EQUAL 1)
-			message(WARNING "Internal versions of libtiff/libgeotiff detected without symbol renaming (when configuring GDAL, if options --with-libtiff or --with-geotiff are set to 'internal', then options --with-rename-internal-libtiff-symbols and --with-rename-internal-libgeotiff-symbols should be set to 'yes').")
-			set(GDAL_QUALIFIES FALSE)
-		endif()
-		
-		
-	endif() #GDAL_QUALIFIES
+			# Warning messages
+			if (NOT COMPILE_RESULT_SYMBOLS)
+				message(WARNING "Modules/ThirdParty/GDAL/gdalSymbolsTest.cxx did not compile.")
+			elseif (${RUN_RESULT_SYMBOLS} EQUAL 1)
+				message(WARNING "Internal versions of libtiff/libgeotiff detected without symbol renaming (when configuring GDAL, if options --with-libtiff or --with-geotiff are set to 'internal', then options --with-rename-internal-libtiff-symbols and --with-rename-internal-libgeotiff-symbols should be set to 'yes').")
+				set(GDAL_QUALIFIES FALSE)
+			endif()
+			
+			
+		endif() #GDAL_QUALIFIES
 
 
-endif() #UNIX
+	endif() #UNIX
 
 
-if (GDAL_QUALIFIES)
-	message(STATUS " >> Yes")
-else()
-	message(STATUS " >> No")
-endif()
+	if (GDAL_QUALIFIES)
+		message(STATUS " >> Yes")
+	else()
+		message(STATUS " >> No")
+	endif()
+
+
+endif() #GDAL_CONFIG_CHECKING
-- 
GitLab