From 619b808c07c5f70773477c487303e50ac3e203c7 Mon Sep 17 00:00:00 2001
From: Guillaume Pasero <guillaume.pasero@c-s.fr>
Date: Tue, 28 Apr 2015 11:58:45 +0200
Subject: [PATCH] ENH: Jira 829: superbuild: forward compilation flags for OTB
 and ITK

---
 SuperBuild/CMake/External_itk.cmake | 13 ++++++++++++-
 SuperBuild/CMake/External_otb.cmake | 13 ++++++++++++-
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/SuperBuild/CMake/External_itk.cmake b/SuperBuild/CMake/External_itk.cmake
index 64b4d0be17..b867415280 100644
--- a/SuperBuild/CMake/External_itk.cmake
+++ b/SuperBuild/CMake/External_itk.cmake
@@ -137,6 +137,17 @@ else()
     ADD_SUPERBUILD_CMAKE_VAR(FFTW_INCLUDE_PATH)
   endif()
   
+  # forward compilation flags
+  set(ITK_SB_COMPILATION_FLAGS
+    -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+    -DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
+    -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
+    -DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS}
+    -DCMAKE_MODULE_LINKER_FLAGS:STRING=${CMAKE_MODULE_LINKER_FLAGS}
+    -DCMAKE_SHARED_LINKER_FLAGS:STRING=${CMAKE_SHARED_LINKER_FLAGS}
+    -DCMAKE_STATIC_LINKER_FLAGS:STRING=${CMAKE_STATIC_LINKER_FLAGS}
+    )
+  
   ExternalProject_Add(${proj}
     PREFIX ${proj}
     URL "http://sourceforge.net/projects/itk/files/itk/4.7/InsightToolkit-4.7.1.tar.gz/download"
@@ -147,7 +158,7 @@ else()
       DOWNLOAD_DIR ${DOWNLOAD_LOCATION}
     CMAKE_CACHE_ARGS
       -DCMAKE_INSTALL_PREFIX:STRING=${SB_INSTALL_PREFIX}
-      -DCMAKE_BUILD_TYPE:STRING=Release
+      ${ITK_SB_COMPILATION_FLAGS}
       -DITK_BUILD_DEFAULT_MODULES:BOOL=OFF
       ${ITK_MODULES_CMAKE_CACHE}
       -DITKGroup_Core:BOOL=OFF
diff --git a/SuperBuild/CMake/External_otb.cmake b/SuperBuild/CMake/External_otb.cmake
index dd1c0d762f..fbaf36f15e 100644
--- a/SuperBuild/CMake/External_otb.cmake
+++ b/SuperBuild/CMake/External_otb.cmake
@@ -144,6 +144,17 @@ else()
   set(OTB_SB_CMAKE_COMMAND ${SB_CMAKE_COMMAND})
 endif()
 
+# forward compilation flags
+set(OTB_SB_COMPILATION_FLAGS
+    -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+    -DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
+    -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
+    -DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS}
+    -DCMAKE_MODULE_LINKER_FLAGS:STRING=${CMAKE_MODULE_LINKER_FLAGS}
+    -DCMAKE_SHARED_LINKER_FLAGS:STRING=${CMAKE_SHARED_LINKER_FLAGS}
+    -DCMAKE_STATIC_LINKER_FLAGS:STRING=${CMAKE_STATIC_LINKER_FLAGS}
+    )
+
 ExternalProject_Add(${proj}
     DEPENDS ${${proj}_DEPENDENCIES}
     PREFIX ${proj}
@@ -154,7 +165,7 @@ ExternalProject_Add(${proj}
       DOWNLOAD_DIR ${DOWNLOAD_LOCATION}
     CMAKE_CACHE_ARGS
       -DCMAKE_INSTALL_PREFIX:STRING=${CMAKE_INSTALL_PREFIX}
-      -DCMAKE_BUILD_TYPE:STRING=Release
+      ${OTB_SB_COMPILATION_FLAGS}
       -DBUILD_SHARED_LIBS:BOOL=${SB_BUILD_SHARED_LIBS}
       -DBUILD_TESTING:BOOL=${BUILD_TESTING}
       -DBUILD_EXAMPLES:BOOL=${BUILD_EXAMPLES}
-- 
GitLab