From 3685bcc6faea297a25d3399d50dfe5b10cc972e1 Mon Sep 17 00:00:00 2001
From: Manuel Grizonnet <manuel.grizonnet@orfeo-toolbox.org>
Date: Wed, 11 Jan 2012 15:06:43 +0100
Subject: [PATCH] BUG:deactivate gettext by default and test possible
 QT/Gettext conflict in the cmake cofiguration(bug 419)

---
 CMake/ImportGetText.cmake       | 17 ++++++++++++++++-
 CMake/TestQtGettextConflict.cxx |  8 ++++++++
 2 files changed, 24 insertions(+), 1 deletion(-)
 create mode 100644 CMake/TestQtGettextConflict.cxx

diff --git a/CMake/ImportGetText.cmake b/CMake/ImportGetText.cmake
index 9711e900ec..e657671452 100644
--- a/CMake/ImportGetText.cmake
+++ b/CMake/ImportGetText.cmake
@@ -1,6 +1,6 @@
 MESSAGE(STATUS "Importing GetText...")
 
-OPTION(OTB_USE_GETTEXT "Get Text Library." ON)
+OPTION(OTB_USE_GETTEXT "Get Text Library." OFF)
 
 IF(OTB_USE_GETTEXT)
     
@@ -38,6 +38,21 @@ IF(OTB_USE_GETTEXT)
         MESSAGE(STATUS "  GetText intl library  : ${GETTEXT_INTL_LIBRARY}")
       ENDIF(APPLE OR WIN32)
     
+      IF(BUILD_APPLICATIONS AND WRAP_QT)
+	SET(CMAKE_REQUIRED_INCLUDES ${QT_USE_FILE})
+	SET(CMAKE_REQUIRED_LIBRARIES "${QT_LIBRARIES};${GETTEXT_LIBRARY}")
+	SET(CMAKE_REQUIRED_DEFINITIONS ${QT_DEFINITIONS})
+	CHECK_CXX_SOURCE_RUNS_ARGS(
+            ${CMAKE_CURRENT_SOURCE_DIR}/CMake/TestQtGettextConflict.cxx
+	    0
+            CHECK_QT_GETTEXT_CONFLICT
+            )
+	IF(NOT CHECK_QT_GETTEXT_CONFLICT)
+	  MESSAGE(WARNING "CHECK_QT_GETTEXT_CONFLICT test failed : your platform exhibits a QT/Gettext conflict.\n"
+	      "Opening OTB-applications auto generated in QT may generate a crash.\n"
+	      "You might consider deactivating the support of Gettext in OTB with the OTB_USE_GETTEXT cmake option.\n")
+	ENDIF(NOT CHECK_QT_GETTEXT_CONFLICT)
+      ENDIF(BUILD_APPLICATIONS AND WRAP_QT)
     ELSE(GETTEXT_FOUND)
       SET(OTB_I18N 0)
       MESSAGE(STATUS
diff --git a/CMake/TestQtGettextConflict.cxx b/CMake/TestQtGettextConflict.cxx
new file mode 100644
index 0000000000..3f9046fb9c
--- /dev/null
+++ b/CMake/TestQtGettextConflict.cxx
@@ -0,0 +1,8 @@
+#include <QApplication>
+#include <QMainWindow>
+
+int main(int argc, char **argv)
+{
+  QApplication app(argc, argv);
+  return 0;
+}
-- 
GitLab