--- a/cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake	2020-11-26 15:59:27.000000000 +0100
+++ b/cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake	2020-11-26 23:09:12.778262636 +0100
@@ -11,6 +11,8 @@
         set(SMESH_VERSION_TWEAK 0)
 
         #if we use smesh we definitely also need vtk, no matter of external or internal smesh
+        find_package(VTK REQUIRED NO_MODULE)
+        if(${VTK_MAJOR_VERSION} LESS 9)
         set (VTK_COMPONENTS
             vtkCommonCore
             vtkCommonDataModel
@@ -23,18 +25,37 @@
             vtkFiltersSources
             vtkFiltersGeometry
         )
-
-        # check which modules are available
-        if(UNIX OR WIN32)
             find_package(VTK COMPONENTS vtkCommonCore REQUIRED NO_MODULE)
             list(APPEND VTK_COMPONENTS vtkIOMPIParallel vtkParallelMPI vtkhdf5 vtkFiltersParallelDIY2 vtkRenderingCore vtkInteractionStyle vtkRenderingFreeType vtkRenderingOpenGL2)
+        else()
+            # VTK 9 changed its component names
+            set (VTK_COMPONENTS
+                CommonCore
+                CommonDataModel
+                FiltersVerdict
+                IOXML
+                FiltersCore
+                FiltersGeneral
+                IOLegacy
+                FiltersExtraction
+                FiltersSources
+                FiltersGeometry
+            )
+            find_package(VTK COMPONENTS CommonCore REQUIRED NO_MODULE)
+            list(APPEND VTK_COMPONENTS IOMPIParallel ParallelMPI hdf5 FiltersParallelDIY2 RenderingCore InteractionStyle RenderingFreeType RenderingOpenGL2)
+        endif()
+
+        # check which modules are available
             foreach(_module ${VTK_COMPONENTS})
+            if(${VTK_MAJOR_VERSION} LESS 9)
                 list (FIND VTK_MODULES_ENABLED ${_module} _index)
+            else()
+                list (FIND VTK_AVAILABLE_COMPONENTS ${_module} _index)
+            endif()
                 if (${_index} GREATER -1)
                     list(APPEND AVAILABLE_VTK_COMPONENTS ${_module})
                 endif()
             endforeach()
-        endif()
 
         # don't check VERSION 6 as this would exclude VERSION 7
         if(AVAILABLE_VTK_COMPONENTS)
