Enable Intel AVX/AVX2 compilation on Windows.
This commit is contained in:
@@ -220,14 +220,6 @@ if(MSVC)
|
|||||||
set(OPENCV_EXTRA_FLAGS_RELEASE "${OPENCV_EXTRA_FLAGS_RELEASE} /Zi")
|
set(OPENCV_EXTRA_FLAGS_RELEASE "${OPENCV_EXTRA_FLAGS_RELEASE} /Zi")
|
||||||
endif()
|
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:")
|
if(ENABLE_SSE4_1 AND CV_ICC AND NOT OPENCV_EXTRA_FLAGS MATCHES "/arch:")
|
||||||
set(OPENCV_EXTRA_FLAGS "${OPENCV_EXTRA_FLAGS} /arch:SSE4.1")
|
set(OPENCV_EXTRA_FLAGS "${OPENCV_EXTRA_FLAGS} /arch:SSE4.1")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -529,14 +529,22 @@ macro(ocv_glob_module_sources)
|
|||||||
if(ENABLE_AVX)
|
if(ENABLE_AVX)
|
||||||
file(GLOB avx_srcs "src/avx/*.cpp")
|
file(GLOB avx_srcs "src/avx/*.cpp")
|
||||||
foreach(src ${avx_srcs})
|
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()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ENABLE_AVX2)
|
if(ENABLE_AVX2)
|
||||||
file(GLOB avx2_srcs "src/avx2/*.cpp")
|
file(GLOB avx2_srcs "src/avx2/*.cpp")
|
||||||
foreach(src ${avx2_srcs})
|
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()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user