diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake
index c2bd8604308..bbfb0a214be 100644
--- a/cmake/QtCreatorAPI.cmake
+++ b/cmake/QtCreatorAPI.cmake
@@ -1124,3 +1124,16 @@ function(finalize_qtc_gtest test_name)
finalize_test_setup(${test})
endforeach()
endfunction()
+
+# This is the CMake equivalent of "RESOURCES = $$files()" from qmake
+function(qtc_glob_resources)
+ cmake_parse_arguments(_arg "" "QRC_FILE;ROOT;GLOB" "" ${ARGN})
+
+ file(GLOB_RECURSE fileList RELATIVE "${_arg_ROOT}" "${_arg_ROOT}/${_arg_GLOB}")
+ set(qrcData "\n")
+ foreach(file IN LISTS fileList)
+ string(APPEND qrcData " ${_arg_ROOT}/${file}\n")
+ endforeach()
+ string(APPEND qrcData "")
+ file(WRITE "${_arg_QRC_FILE}" "${qrcData}")
+endfunction()
diff --git a/src/plugins/studiowelcome/CMakeLists.txt b/src/plugins/studiowelcome/CMakeLists.txt
index 8abf6a8fba6..6da0b53c037 100644
--- a/src/plugins/studiowelcome/CMakeLists.txt
+++ b/src/plugins/studiowelcome/CMakeLists.txt
@@ -1,3 +1,11 @@
+set(qmlQrcFile "${CMAKE_CURRENT_BINARY_DIR}/StudioWelcome_qml.qrc")
+
+qtc_glob_resources(
+ QRC_FILE "${qmlQrcFile}"
+ ROOT "${CMAKE_CURRENT_SOURCE_DIR}"
+ GLOB "qml/*.*"
+)
+
add_qtc_plugin(StudioWelcome
DEPENDS Qt5::QuickWidgets
PLUGIN_DEPENDS Core ProjectExplorer QtSupport
@@ -6,7 +14,7 @@ add_qtc_plugin(StudioWelcome
studiowelcomeplugin.cpp studiowelcomeplugin.h
studiowelcome_global.h
studiowelcome.qrc
- studiowelcome_qml.qrc
+ ${qmlQrcFile}
"${PROJECT_SOURCE_DIR}/src/share/3rdparty/studiofonts/studiofonts.qrc"
EXTRA_TRANSLATIONS
qml
diff --git a/src/plugins/studiowelcome/studiowelcome_qml.qrc b/src/plugins/studiowelcome/studiowelcome_qml.qrc
deleted file mode 100644
index 5f469d8d9af..00000000000
--- a/src/plugins/studiowelcome/studiowelcome_qml.qrc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
- qml/
-
-