From fc280e888d95f5bcb176b0c1ec6cce008f16abb3 Mon Sep 17 00:00:00 2001
From: Julien Malik <julien.malik@c-s.fr>
Date: Tue, 14 Jun 2011 22:43:24 +0200
Subject: [PATCH] ENH: more independent wrappers

---
 CMakeLists.txt                  | 15 ---------------
 Code/Wrappers/CMakeLists.txt    | 20 +++++++++++++++++---
 Testing/CMakeLists.txt          | 23 ++++++++++++++++++-----
 Testing/Java/CMakeLists.txt     |  2 +-
 Testing/QtWidget/CMakeLists.txt |  8 ++++----
 5 files changed, 40 insertions(+), 28 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c5760673c1..defa2d4850 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,21 +17,6 @@ include(Definitions)
 FIND_PACKAGE(OTB REQUIRED PATHS /usr/lib/otb )
 INCLUDE(${OTB_USE_FILE})
 
-
-OPTION(OTB_USE_QT "Generate Qt wrappers for Applications" ON)
-IF(OTB_USE_QT)
-  FIND_PACKAGE(Qt4 REQUIRED)
-  SET(QT_USE_QTXML 1)
-  INCLUDE(${QT_USE_FILE})
-ENDIF(OTB_USE_QT)
-
-OPTION(OTB_USE_SWIG "Generate Qt wrappers for Applications" ON)
-
-FIND_PACKAGE(SWIG REQUIRED)
-INCLUDE(${SWIG_USE_FILE})
-FIND_PACKAGE(PythonLibs REQUIRED)
-FIND_PACKAGE(PythonInterp REQUIRED)
-
 SET(BUILD_SHARED_LIBS ${OTB_BUILD_SHARED_LIBS})
 
 ADD_SUBDIRECTORY(Code)
diff --git a/Code/Wrappers/CMakeLists.txt b/Code/Wrappers/CMakeLists.txt
index f3b5897812..55cdae1feb 100644
--- a/Code/Wrappers/CMakeLists.txt
+++ b/Code/Wrappers/CMakeLists.txt
@@ -1,5 +1,19 @@
 INCLUDE_DIRECTORIES(../Core)
 
-ADD_SUBDIRECTORY(ApplicationLauncherQt)
-ADD_SUBDIRECTORY(QtWidget)
-ADD_SUBDIRECTORY(SWIG)
+# Generate Qt based GUI
+option ( WRAP_QT "Enable Qt wrappers" OFF )
+
+if ( WRAP_QT )
+  FIND_PACKAGE(Qt4 REQUIRED)
+  SET(QT_USE_QTXML 1)
+  INCLUDE(${QT_USE_FILE})
+
+  add_subdirectory(ApplicationLauncherQt)
+  add_subdirectory(QtWidget)
+endif( WRAP_QT )
+
+# Generate SWIG wrappers
+option ( WRAP_SWIG "Enable SWIG wrappers" OFF )
+if ( WRAP_SWIG )
+  add_subdirectory(SWIG)
+endif( WRAP_SWIG )
\ No newline at end of file
diff --git a/Testing/CMakeLists.txt b/Testing/CMakeLists.txt
index a9c6f36f4e..61018d712e 100644
--- a/Testing/CMakeLists.txt
+++ b/Testing/CMakeLists.txt
@@ -3,9 +3,22 @@ FILE(MAKE_DIRECTORY ${TEMP})
 
 add_subdirectory(Core)
 
-add_subdirectory(Python)
-add_subdirectory(Java)
-add_subdirectory(Ruby)
-add_subdirectory(Lua)
+if ( WRAP_PYTHON )
+  add_subdirectory(Python)
+endif ()
 
-add_subdirectory(QtWidget)
\ No newline at end of file
+if ( WRAP_JAVA )
+  add_subdirectory(Java)
+endif ()
+
+if ( WRAP_RUBY )
+  add_subdirectory(Ruby)
+endif ()
+
+if ( WRAP_LUA )
+  add_subdirectory(Lua)
+endif ()
+
+if ( WRAP_QT )
+  add_subdirectory(QtWidget)
+endif ()
diff --git a/Testing/Java/CMakeLists.txt b/Testing/Java/CMakeLists.txt
index e12721ad5f..5bddf68443 100644
--- a/Testing/Java/CMakeLists.txt
+++ b/Testing/Java/CMakeLists.txt
@@ -8,7 +8,7 @@ set( CMAKE_JAVA_INCLUDE_PATH ${OTB-Wrapper_BINARY_DIR}/Code/Wrappers/SWIG/org.ot
 set( JAVA_COMMAND "${JAVACOMMAND}" -Djava.library.path=${OTB-Wrapper_BINARY_DIR}/Code/Wrappers/SWIG)
 
 add_jar( JavaSmoothingTest JavaSmoothingTest.java )
-add_dependencies( JavaSmoothingTest otbApplicationJava )
+add_dependencies( JavaSmoothingTest org_otb_Application_jar )
 add_test( NAME jaTvSmoothing
           COMMAND ${TEST_DRIVER} Execute
           ${JAVA_COMMAND} -cp ${CMAKE_JAVA_INCLUDE_PATH}:JavaSmoothingTest.jar SmoothingTest
diff --git a/Testing/QtWidget/CMakeLists.txt b/Testing/QtWidget/CMakeLists.txt
index 526b98e409..eb44c0a67b 100644
--- a/Testing/QtWidget/CMakeLists.txt
+++ b/Testing/QtWidget/CMakeLists.txt
@@ -1,6 +1,8 @@
-SET(CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
+FIND_PACKAGE(Qt4 REQUIRED)
+SET(QT_USE_QTXML 1)
+INCLUDE(${QT_USE_FILE})
 
-IF(OTB_USE_QT)
+SET(CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
 
 SET(OTB_WRAPPER_QTWIDGET_TESTS ${CXX_TEST_PATH}/otbWrapperQtWidgetTests)
 
@@ -25,5 +27,3 @@ ADD_TEST(owTvQtWidgetParameterFactory ${OTB_WRAPPER_QTWIDGET_TESTS}
 
 ADD_TEST(owTvQtWidgetParameterGroup ${OTB_WRAPPER_QTWIDGET_TESTS}
         otbWrapperQtWidgetParameterGroup)
-
-ENDIF(OTB_USE_QT)
-- 
GitLab