diff --git a/CMakeLists.txt b/CMakeLists.txt
index ddbd21c93fe2900dd36109355248a00806227ec3..cbf4e46d239054e862b2ee27c50ca538140f76e0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,13 +3,14 @@ cmake_minimum_required(VERSION 3.10)
 project(cellframe-diagtool)
 
 find_package(Qt5 5.15 REQUIRED COMPONENTS
-    Core
-    Network
-    Gui
-    Widgets
-    Qml
-    QuickWidgets
-)
+   Core
+   Qml
+   Quick
+   Widgets
+   QuickWidgets
+   QuickControls2
+   QmlWorkerScript
+  )
 
 set(CMAKE_AUTOMOC ON)
 set(CMAKE_AUTORCC ON)
@@ -60,33 +61,23 @@ if(WIN32)
         ./main.cpp
     )
 
-    qt5_import_plugins(${PROJECT_NAME} INCLUDE Qt5::QtQuick2Plugin Qt5::QtQuickControls2Plugin)
 
 endif()
 
 target_include_directories(${PROJECT_NAME} PRIVATE ./CellframeNodeDiagtool)
 target_include_directories(${PROJECT_NAME} PRIVATE ./CellframeNodeTray)
 
-target_link_libraries(${PROJECT_NAME}
-        PUBLIC Qt5::Core Qt5::Gui Qt5::Network Qt5::Widgets Qt5::Qml Qt5::QuickWidgets
-)
-
+find_package(Qt5 COMPONENTS QmlImportScanner)
+qt5_import_qml_plugins(${PROJECT_NAME})
 
-qt5_import_plugins(${PROJECT_NAME}
-    INCLUDE
-    qtquick2plugin
-    Qt5::QtQuickControls2Plugin
-    Qt5::QtQuick2Plugin
-    Qt5::QtQuickLayoutsPlugin
-    Qt5::QtQuickTemplates2Plugin
-    Qt5::QtQuickWindowPlugin
-    Qt5::QtQuick2WindowPlugin
-    Qt5::QWindowsIntegrationPlugin
 
+target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Network Qt5::Widgets  Qt5::Core
+    Qt5::Network
+    Qt5::Quick
+    Qt5::QuickControls2
+    Qt5::QmlWorkerScript
 )
 
 if (WIN32)
 target_link_libraries(${PROJECT_NAME} PUBLIC psapi)
 endif()
-
-