diff --git a/src/plugins/mcusupport/mcusupport.qrc b/src/plugins/mcusupport/mcusupport.qrc
index 59ff76770b0..b45fb8ccc31 100644
--- a/src/plugins/mcusupport/mcusupport.qrc
+++ b/src/plugins/mcusupport/mcusupport.qrc
@@ -8,8 +8,6 @@
wizards/icon@2x.png
wizards/application/CMakeLists.txt
wizards/application/project.qmlproject.tpl
- wizards/application/BareMetal/main.cpp.tpl
- wizards/application/FreeRTOS/main.cpp.tpl
wizards/application/main.qml.tpl
wizards/application/wizard.json
diff --git a/src/plugins/mcusupport/wizards/application/BareMetal/main.cpp.tpl b/src/plugins/mcusupport/wizards/application/BareMetal/main.cpp.tpl
deleted file mode 100644
index d6c84deeeaf..00000000000
--- a/src/plugins/mcusupport/wizards/application/BareMetal/main.cpp.tpl
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "%{ProjectName}.h"
-
-#include
-#include
-
-int main()
-{
- Qul::initPlatform();
- Qul::Application app;
- static %{ProjectName} item;
- app.setRootItem(&item);
- app.exec();
- return 0;
-}
diff --git a/src/plugins/mcusupport/wizards/application/CMakeLists.txt b/src/plugins/mcusupport/wizards/application/CMakeLists.txt
index 3ad30d99cab..ea34696b240 100644
--- a/src/plugins/mcusupport/wizards/application/CMakeLists.txt
+++ b/src/plugins/mcusupport/wizards/application/CMakeLists.txt
@@ -4,8 +4,10 @@ project(%{ProjectName} VERSION 0.0.1 LANGUAGES C CXX ASM)
find_package(Qul)
-add_executable(%{ProjectName} ${OS}/main.cpp)
+add_executable(%{ProjectName})
qul_target_qml_sources(%{ProjectName} %{MainQmlFile})
target_link_libraries(%{ProjectName} Qul::QuickUltralite)
+
app_target_setup_os(%{ProjectName})
+app_target_default_main(%{ProjectName} %{RootItemName})
diff --git a/src/plugins/mcusupport/wizards/application/FreeRTOS/main.cpp.tpl b/src/plugins/mcusupport/wizards/application/FreeRTOS/main.cpp.tpl
deleted file mode 100644
index 43ca2e706b8..00000000000
--- a/src/plugins/mcusupport/wizards/application/FreeRTOS/main.cpp.tpl
+++ /dev/null
@@ -1,38 +0,0 @@
-#include "%{ProjectName}.h"
-
-#include
-#include
-
-#include
-#include
-#include
-
-#ifndef QUL_STACK_SIZE
-#error QUL_STACK_SIZE must be defined.
-#endif
-
-static void Qul_Thread(void *argument);
-
-int main()
-{
- Qul::initPlatform();
-
- if (xTaskCreate(Qul_Thread, "QulExec", QUL_STACK_SIZE, 0, 4, 0) != pdPASS) {
- std::printf("Task creation failed!.\\r\\n");
- configASSERT(false);
- }
-
- vTaskStartScheduler();
-
- // Should not reach this point
- configASSERT(false);
- return 0;
-}
-
-static void Qul_Thread(void *argument)
-{
- Qul::Application app;
- static %{ProjectName} item;
- app.setRootItem(&item);
- app.exec();
-}
diff --git a/src/plugins/mcusupport/wizards/application/wizard.json b/src/plugins/mcusupport/wizards/application/wizard.json
index b458bb010a8..99888785734 100644
--- a/src/plugins/mcusupport/wizards/application/wizard.json
+++ b/src/plugins/mcusupport/wizards/application/wizard.json
@@ -12,6 +12,7 @@
"options":
[
{ "key": "MainQmlFile", "value": "%{ProjectName}.qml" },
+ { "key": "RootItemName", "value": "%{ProjectName}" },
{ "key": "CMakeFile", "value": "%{ProjectDirectory}/CMakeLists.txt" }
],
@@ -52,16 +53,6 @@
"target": "%{ProjectDirectory}/%{ProjectName}.qmlproject",
"openInEditor": false
},
- {
- "source": "BareMetal/main.cpp.tpl",
- "target": "%{ProjectDirectory}/BareMetal/main.cpp",
- "openInEditor": false
- },
- {
- "source": "FreeRTOS/main.cpp.tpl",
- "target": "%{ProjectDirectory}/FreeRTOS/main.cpp",
- "openInEditor": false
- },
{
"source": "main.qml.tpl",
"target": "%{ProjectDirectory}/%{MainQmlFile}",