build: don't force SSE2/AVX, enable at runtime instead

--- CMakeLists.txt.orig	2017-11-21 22:46:29 UTC
+++ CMakeLists.txt
@@ -17,8 +17,6 @@ include(CheckCXXCompilerFlag)
 # the CMake policies in this file
 include(${CMAKE_SOURCE_DIR}/cmake/CMakeHelper.cmake NO_POLICY_SCOPE)
 
-include(${CMAKE_SOURCE_DIR}/cmake/CheckSSEExtensions.cmake)
-
 if(EXISTS ${CMAKE_SOURCE_DIR}/LocalConfig.cmake)
     include(${CMAKE_SOURCE_DIR}/LocalConfig.cmake)
 endif()
@@ -28,6 +26,7 @@ endif()
 # Options
 ################################################################################
 
+option(SIMD_ENABLED "Whether to enable SIMD optimizations" ON)
 option(OPENMP_ENABLED "Whether to enable OpenMP" ON)
 option(IPO_ENABLED "Whether to enable interprocedural optimization" ON)
 option(CUDA_ENABLED "Whether to enable CUDA, if available" ON)
--- src/ext/VLFeat/CMakeLists.txt.orig	2017-11-21 22:46:29 UTC
+++ src/ext/VLFeat/CMakeLists.txt
@@ -70,16 +70,16 @@ set(VLFEAT_SOURCE_FILES
     vlad.h)
 
 if(IS_GNU OR IS_CLANG)
-    if(HAS_AVX_EXTENSION)
-        list(APPEND VLFEAT_SOURCE_FILES
+    if(SIMD_ENABLED AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86|amd64|AMD64")
+        set(AVX_SOURCES
              mathop_avx.c
              mathop_avx.h)
     else()
         add_definitions(-DVL_DISABLE_AVX)
     endif()
 
-    if(HAS_SSE2_EXTENSION)
-        list(APPEND VLFEAT_SOURCE_FILES
+    if(SIMD_ENABLED AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86|amd64|AMD64")
+        set(SSE2_SOURCES
              mathop_sse2.c
              mathop_sse2.h
              imopv_sse2.c
@@ -88,8 +88,12 @@ if(IS_GNU OR IS_CLANG)
         add_definitions(-DVL_DISABLE_SSE2)
     endif()
 
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SSE_FLAGS}")
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SSE_FLAGS}")
+    list(APPEND VLFEAT_SOURCE_FILES ${AVX_SOURCES} ${SSE2_SOURCES})
+
+    set_source_files_properties(${AVX_SOURCES}
+        PROPERTIES COMPILE_FLAGS "-mavx")
+    set_source_files_properties(${SSE2_SOURCES}
+        PROPERTIES COMPILE_FLAGS "-msse2")
 else()
     add_definitions(-DVL_DISABLE_AVX)
     add_definitions(-DVL_DISABLE_SSE2)
