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