From 9602fca02eaa5525eab40473f50d94945fd648dd Mon Sep 17 00:00:00 2001
From: Rashad Kanavath <rashad.kanavath@c-s.fr>
Date: Fri, 25 Aug 2017 17:30:16 +0200
Subject: [PATCH] WIP: COMP: active SIMD extension on request (hardware
 dependent)

---
 SuperBuild/CMake/External_itk.cmake           |  3 ++
 SuperBuild/patches/ITK/itk-3-sseflag-all.diff | 28 +++++++++++++++++++
 2 files changed, 31 insertions(+)
 create mode 100644 SuperBuild/patches/ITK/itk-3-sseflag-all.diff

diff --git a/SuperBuild/CMake/External_itk.cmake b/SuperBuild/CMake/External_itk.cmake
index f419bd4e9f..81acc683bd 100644
--- a/SuperBuild/CMake/External_itk.cmake
+++ b/SuperBuild/CMake/External_itk.cmake
@@ -166,6 +166,9 @@ ExternalProject_Add(ITK
   -DITK_USE_SYSTEM_TIFF:BOOL=ON
   -DITK_USE_SYSTEM_PNG:BOOL=ON
   -DITK_FORBID_DOWNLOADS:BOOL=ON
+  -DITK_USE_SSE_FLAGS:BOOL=OFF
+  -DVNL_CONFIG_ENABLE_SSE2:BOOL=OFF
+  -DVNL_CONFIG_ENABLE_SSE2_ROUNDING:BOOL=OFF
   ${ITK_SB_CONFIG}
   DEPENDS ${ITK_DEPENDENCIES}
   CMAKE_COMMAND ${SB_CMAKE_COMMAND}
diff --git a/SuperBuild/patches/ITK/itk-3-sseflag-all.diff b/SuperBuild/patches/ITK/itk-3-sseflag-all.diff
new file mode 100644
index 0000000000..4dd7ade01c
--- /dev/null
+++ b/SuperBuild/patches/ITK/itk-3-sseflag-all.diff
@@ -0,0 +1,28 @@
+diff -burN InsightToolkit-4.12.0.orig/CMakeLists.txt InsightToolkit-4.12.0/CMakeLists.txt
+--- InsightToolkit-4.12.0.orig/CMakeLists.txt	2017-08-22 11:53:54.920931663 +0200
++++ InsightToolkit-4.12.0/CMakeLists.txt	2017-08-25 17:45:01.603901798 +0200
+@@ -146,6 +146,9 @@
+ option(ITK_DYNAMIC_LOADING "Support run-time loading of shared libraries" ON)
+ mark_as_advanced(ITK_DYNAMIC_LOADING)
+ 
++option(ITK_USE_SSE_FLAGS "Enable SIMD optimization flags (hardware dependant)." ON)
++mark_as_advanced(ITK_USE_SSE_FLAGS)
++
+ #-----------------------------------------------------------------------------
+ # Wrapping options
+ option(ITK_WRAP_PYTHON "Build Python support" OFF)
+diff -burN InsightToolkit-4.12.0.orig/Modules/Core/Common/CMakeLists.txt InsightToolkit-4.12.0/Modules/Core/Common/CMakeLists.txt
+--- InsightToolkit-4.12.0.orig/Modules/Core/Common/CMakeLists.txt	2017-08-22 11:53:56.200940262 +0200
++++ InsightToolkit-4.12.0/Modules/Core/Common/CMakeLists.txt	2017-08-25 17:45:30.636094558 +0200
+@@ -42,8 +42,9 @@
+ 
+ 
+ # Check if this platform support the sse2 rounding functions for 32 and 64 bits
+-include(CheckSupportForSSERounding)
+-
++if(ITK_USE_SSE_FLAGS)
++  include(CheckSupportForSSERounding)
++endif()
+ 
+ # Test for atomics and other compiler intrinsics
+ include(itkCheckBuiltins)
-- 
GitLab