From 3edc614e6fc1e545cbb862a0c09b073717811908 Mon Sep 17 00:00:00 2001
From: Antoine Regimbeau <antoine.regimbeau@c-s.fr>
Date: Wed, 30 Jan 2019 16:00:14 +0100
Subject: [PATCH] Configure step with option

---
 CI/configure_option.cmake | 60 +++++++++++++++++++++++++++++++++++++++
 CI/main_ci.cmake          | 33 ++++++---------------
 2 files changed, 68 insertions(+), 25 deletions(-)
 create mode 100644 CI/configure_option.cmake

diff --git a/CI/configure_option.cmake b/CI/configure_option.cmake
new file mode 100644
index 0000000000..4e192391ca
--- /dev/null
+++ b/CI/configure_option.cmake
@@ -0,0 +1,60 @@
+#This file set the following variable : 
+# * otb_build_project_option
+# * otb_use_option
+# * otb_wrap_option
+# * CONFIGURE_OPTIONS
+
+set (otb_build_project_option 
+"BUILD_COOKBOOK:BOOL=OFF
+BUILD_EXAMPLES:BOOL=OFF
+BUILD_SHARED_LIBS:BOOL=OFF
+BUILD_TESTING:BOOL=OFF")
+
+
+set (otb_use_option
+"OTB_USE_6S:BOOL=OFF
+OTB_USE_CURL:BOOL=OFF
+OTB_USE_GLEW:BOOL=OFF
+OTB_USE_GLFW:BOOL=OFF
+OTB_USE_GLUT:BOOL=OFF
+OTB_USE_GSL:BOOL=OFF
+OTB_USE_LIBKML:BOOL=OFF
+OTB_USE_LIBSVM:BOOL=OFF
+OTB_USE_MAPNIK:BOOL=OFF
+OTB_USE_MPI:BOOL=OFF
+OTB_USE_MUPARSER:BOOL=OFF
+OTB_USE_MUPARSERX:BOOL=OFF
+OTB_USE_OPENCV:BOOL=OFF
+OTB_USE_OPENGL:BOOL=OFF
+OTB_USE_OPENMP:BOOL=OFF
+OTB_USE_QT:BOOL=OFF
+OTB_USE_QWT:BOOL=OFF
+OTB_USE_SHARK:BOOL=OFF
+OTB_USE_SIFTFAST:BOOL=OFF
+OTB_USE_SPTW:BOOL=OFF
+OTB_USE_SSE_FLAGS:BOOL=OFF")
+
+set (otb_wrap_option
+"OTB_WRAP_JAVA:BOOL=OFF
+OTB_WRAP_PYTHON:BOOL=OFF
+OTB_WRAP_PYTHON3:BOOL=OFF")
+
+set (otb_data_option
+"OTB_DATA_ROOT:PATH=${OTB_DATA_ROOT}
+OTB_DATA_USE_LARGEINPUT:BOOL=OFF
+OTB_DATA_LARGEINPUT_ROOT:PATH=${OTB_LARGEINPUT_ROOT}")
+
+#Transform the previous string in list
+string (REPLACE "\n" ";" otb_build_project_option ${otb_build_project_option})
+string (REPLACE "\n" ";" otb_use_option ${otb_use_option})
+string (REPLACE "\n" ";" otb_wrap_option ${otb_wrap_option})
+
+set (otb_options "")
+list (APPEND otb_options ${otb_build_project_option})
+list (APPEND otb_options ${otb_use_option})
+list (APPEND otb_options ${otb_wrap_option})
+
+
+foreach(option ${otb_options})
+  set( CONFIGURE_OPTIONS "${CONFIGURE_OPTIONS}-D${option};")
+endforeach(option)
\ No newline at end of file
diff --git a/CI/main_ci.cmake b/CI/main_ci.cmake
index d1112199f2..29de8f95de 100644
--- a/CI/main_ci.cmake
+++ b/CI/main_ci.cmake
@@ -16,34 +16,17 @@ set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
 set (CTEST_BUILD_NAME "CI_TEST")
 
 
-ctest_start("Nightly")
+ctest_start ("Nightly")
 
 # ctest_update() no need to update it is done by Gitlab-CI
 
-set (DATA_ROOT_DIR "${OTB_SOURCE_DIR}/otb-data/") # todo
-set(otb_configure_option 
-"
-OTB_USE_OPENGL:BOOL=OFF
-OTB_USE_GLEW:BOOL=OFF
-OTB_USE_GLFW:BOOL=OFF
-OTB_USE_GLUT:BOOL=OFF
-OTB_USE_QT:BOOL=OFF
-OTB_USE_QWT:BOOL=OFF
-OTB_USE_6S:BOOL=OFF
-OTB_USE_CURL:BOOL=OFF
-OTB_USE_OPENCV:BOOL=OFF
-OTB_USE_LIBSVM:BOOL=OFF
-OTB_USE_MUPARSER:BOOL=OFF
-OTB_USE_MUPARSERX:BOOL=OFF
-OTB_WRAP_PYTHON:BOOL=OFF
-OTB_WRAP_PYTHON3:BOOL=OFF
-OTB_WRAP_JAVA:BOOL=OFF
-OTB_USE_SHARK:BOOL=OFF
-OTB_USE_OPENMP:BOOL=OFF
-BUILD_TESTING:BOOL=OFF
-")
-
-set(CONFIGURE_OPTIONS  "")
+set (OTB_DATA_ROOT "${OTB_SOURCE_DIR}/otb-data/") # todo
+set (OTB_LARGEINPUT_ROOT "") # todo
+
+set (CONFIGURE_OPTIONS  "")
+#The following file set the CONFIGURE_OPTIONS variable
+include ( "${CMAKE_CURRENT_LIST_DIR}/configure_option.cmake" )
+
 
 ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}"
     SOURCE "${OTB_SOURCE_DIR}"
-- 
GitLab