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/ - -