Index: D:/devel/opencv_trunk/CMakeLists.txt =================================================================== --- D:/devel/opencv_trunk/CMakeLists.txt (revision 3146) +++ D:/devel/opencv_trunk/CMakeLists.txt (working copy) @@ -251,6 +251,14 @@ set(ENABLE_SSSE3 OFF CACHE BOOL "Enable SSSE3 for GCC") #set(ENABLE_SSE4_1 OFF CACHE BOOL "Enable SSE4.1 for GCC") endif() + +elseif(MSVC) + set(ENABLE_SSE ON CACHE BOOL "Enable SSE for MSVC") + set(ENABLE_SSE2 ON CACHE BOOL "Enable SSE2 for MSVC") + if(CMAKE_C_COMPILER MATCHES "icc") + set(ENABLE_SSE3 OFF CACHE BOOL "Enable SSE3 for ICC") + set(ENABLE_SSE4_1 OFF CACHE BOOL "Enable SSE4.1 for ICC") + endif() endif() # allow fine grained control over which libraries not to link, even if @@ -835,6 +843,22 @@ set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -DNDEBUG") set(EXTRA_C_FLAGS_DEBUG "${EXTRA_C_FLAGS_DEBUG} -O0 -DDEBUG -D_DEBUG") +elseif(MSVC) + if(ENABLE_SSE) + set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /arch:SSE") + endif() + if(ENABLE_SSE2) + set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /arch:SSE2") + endif() + if(ENABLE_SSE3) + set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /arch:SSE3") + endif() + if(ENABLE_SSE4_1) + set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /arch:SSE4.1") + endif() + if (ENABLE_SSE OR ENABLE_SSE2 OR ENABLE_SSE3 OR ENABLE_SSE4_1) + set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /Oi") + endif() endif() # Extra link libs if the user selects building static libs: