diff --git a/cmake/externals/tbb/CMakeLists.txt b/cmake/externals/tbb/CMakeLists.txt
index c0f2ef5c82..71d7b94597 100644
--- a/cmake/externals/tbb/CMakeLists.txt
+++ b/cmake/externals/tbb/CMakeLists.txt
@@ -48,12 +48,12 @@ if (APPLE)
     LOG 1
   )
 elseif (WIN32)
-  if ("${MSVC_VERSION}" EQUAL "1700")
-    set(_TBB_MSVC_DIR "vc11")
-  elseif ("${MSVC_VERSION}" EQUAL "1800")
-    set(_TBB_MSVC_DIR "vc12")
-  elseif ("${MSVC_VERSION}" EQUAL "1900" OR "${MSVC_VERSION}" EQUAL "1910")
+  if (MSVC_VERSION GREATER_EQUAL 1900)
     set(_TBB_MSVC_DIR "vc14")
+  elseif (MSVC_VERSION GREATER_EQUAL 1800)
+    set(_TBB_MSVC_DIR "vc12")
+  elseif (MSVC_VERSION GREATER_EQUAL 1700)
+    set(_TBB_MSVC_DIR "vc11")
   else()
     message(FATAL_ERROR "MSVC ${MSVC_VERSION} not supported by Intel TBB")
   endif()
diff --git a/cmake/modules/FindTBB.cmake b/cmake/modules/FindTBB.cmake
index 9a7fbd7c10..12d4deec36 100644
--- a/cmake/modules/FindTBB.cmake
+++ b/cmake/modules/FindTBB.cmake
@@ -57,12 +57,12 @@ elseif (WIN32)
     set(_TBB_ARCH_DIR "ia32")
   endif()
 
-  if ("${MSVC_VERSION}" EQUAL "1700")
-    set(_TBB_MSVC_DIR "vc11")
-  elseif ("${MSVC_VERSION}" EQUAL "1800")
-    set(_TBB_MSVC_DIR "vc12")
-  elseif ("${MSVC_VERSION}" EQUAL "1900" OR "${MSVC_VERSION}" EQUAL "1910")
+  if (MSVC_VERSION GREATER_EQUAL 1900)
     set(_TBB_MSVC_DIR "vc14")
+  elseif (MSVC_VERSION GREATER_EQUAL 1800)
+    set(_TBB_MSVC_DIR "vc12")
+  elseif (MSVC_VERSION GREATER_EQUAL 1700)
+    set(_TBB_MSVC_DIR "vc11")
   else()
     message(FATAL_ERROR "MSVC ${MSVC_VERSION} not supported by Intel TBB")
   endif()