Enable Intel AVX/AVX2 compilation on Windows.

This commit is contained in:
Richard Yoo 2014-07-21 13:26:50 -07:00
parent c38023f4e7
commit de37cfc224
2 changed files with 10 additions and 10 deletions

View File

@ -220,14 +220,6 @@ if(MSVC)
set(OPENCV_EXTRA_FLAGS_RELEASE "${OPENCV_EXTRA_FLAGS_RELEASE} /Zi")
endif()
if(ENABLE_AVX AND NOT MSVC_VERSION LESS 1600)
set(OPENCV_EXTRA_FLAGS "${OPENCV_EXTRA_FLAGS} /arch:AVX")
endif()
if(ENABLE_AVX2 AND NOT MSVC_VERSION LESS 1800)
set(OPENCV_EXTRA_FLAGS "${OPENCV_EXTRA_FLAGS} /arch:AVX2")
endif()
if(ENABLE_SSE4_1 AND CV_ICC AND NOT OPENCV_EXTRA_FLAGS MATCHES "/arch:")
set(OPENCV_EXTRA_FLAGS "${OPENCV_EXTRA_FLAGS} /arch:SSE4.1")
endif()

View File

@ -529,14 +529,22 @@ macro(ocv_glob_module_sources)
if(ENABLE_AVX)
file(GLOB avx_srcs "src/avx/*.cpp")
foreach(src ${avx_srcs})
set_source_files_properties(${src} PROPERTIES COMPILE_FLAGS -mavx)
if(CMAKE_COMPILER_IS_GNUCXX)
set_source_files_properties(${src} PROPERTIES COMPILE_FLAGS -mavx)
elseif(MSVC AND NOT MSVC_VERSION LESS 1600)
set_source_files_properties(${src} PROPERTIES COMPILE_FLAGS /arch:AVX)
endif()
endforeach()
endif()
if(ENABLE_AVX2)
file(GLOB avx2_srcs "src/avx2/*.cpp")
foreach(src ${avx2_srcs})
set_source_files_properties(${src} PROPERTIES COMPILE_FLAGS -mavx2)
if(CMAKE_COMPILER_IS_GNUCXX)
set_source_files_properties(${src} PROPERTIES COMPILE_FLAGS -mavx2)
elseif(MSVC AND NOT MSVC_VERSION LESS 1800)
set_source_files_properties(${src} PROPERTIES COMPILE_FLAGS /arch:AVX2)
endif()
endforeach()
endif()