https://github.com/FreeCAD/FreeCAD/pull/29905
https://bugs.gentoo.org/977409
diff --git a/cMake/FreeCAD_Helpers/SetupQt.cmake b/cMake/FreeCAD_Helpers/SetupQt.cmake
index 8a7ba9bdeb37..7654ef39e9fc 100644
--- a/cMake/FreeCAD_Helpers/SetupQt.cmake
+++ b/cMake/FreeCAD_Helpers/SetupQt.cmake
@@ -29,8 +29,16 @@ endif ()
 
 foreach(COMPONENT IN LISTS FREECAD_QT_COMPONENTS)
     find_package(Qt${FREECAD_QT_MAJOR_VERSION} REQUIRED COMPONENTS ${COMPONENT})
-    set(Qt${COMPONENT}_LIBRARIES ${Qt${FREECAD_QT_MAJOR_VERSION}${COMPONENT}_LIBRARIES})
-    set(Qt${COMPONENT}_INCLUDE_DIRS ${Qt${FREECAD_QT_MAJOR_VERSION}${COMPONENT}_INCLUDE_DIRS})
+    if(TARGET Qt${FREECAD_QT_MAJOR_VERSION}::${COMPONENT})
+        set(Qt${COMPONENT}_LIBRARIES Qt${FREECAD_QT_MAJOR_VERSION}::${COMPONENT})
+        get_target_property(Qt${COMPONENT}_INCLUDE_DIRS Qt${FREECAD_QT_MAJOR_VERSION}::${COMPONENT} INTERFACE_INCLUDE_DIRECTORIES)
+        if(NOT Qt${COMPONENT}_INCLUDE_DIRS)
+            set(Qt${COMPONENT}_INCLUDE_DIRS "")
+        endif()
+    else()
+        set(Qt${COMPONENT}_LIBRARIES ${Qt${FREECAD_QT_MAJOR_VERSION}${COMPONENT}_LIBRARIES})
+        set(Qt${COMPONENT}_INCLUDE_DIRS ${Qt${FREECAD_QT_MAJOR_VERSION}${COMPONENT}_INCLUDE_DIRS})
+    endif()
     set(Qt${COMPONENT}_FOUND ${Qt${FREECAD_QT_MAJOR_VERSION}${COMPONENT}_FOUND})
     set(Qt${COMPONENT}_VERSION ${Qt${FREECAD_QT_MAJOR_VERSION}${COMPONENT}_VERSION})
 endforeach()
