UrFU-Programming / Pairs

0 stars 12 forks source link

Исправить пересборку при изменении QML #3

Open Kaffeine opened 8 years ago

Kaffeine commented 8 years ago

@UrFU-Programming/x-team

При сборке проекта происходит перекомпиляция всех изменившихся файлов. Список файлов проекта содержится в файле .pro (при использовании системы сборки QMake).

QMake не отслеживает файлы qml, потому что они записаны только в файле ресурсов (qml.qrc), но не в pro-файле. Для того, чтобы изменения в qml вызывали пересборку, нужно добавить qml файлы в проект.

Если у вас весь qml код в одном файле (@riddlermachine, @aleksandrzharkov, @SkeeTls, @VChet ), то изменения будут такие:

diff --git a/Pairs.pro b/Pairs.pro
index 2a4bd3c..e1085c1 100644
--- a/Pairs.pro
+++ b/Pairs.pro
@@ -7,6 +7,9 @@ SOURCES += main.cpp \
     Cell.cpp \
     Field.cpp

+OTHER_FILES += \
+    main.qml
+
 RESOURCES += qml.qrc

Я предлагаю вынести код клеток в отдельный файл (см. https://github.com/UrFU-Programming/Mines/wiki/Task#241-%D0%98%D0%B7%D0%B2%D0%BB%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-cellitem . Предлагаю извлечь тот элемент, который находится в Repeater'e. У кого-то это Item, у кого-то Flipable.)

В таком случае вам надо добавить оба qml файла (@okroshka, @MaxPavlutcky ):

diff --git a/Pairs.pro b/Pairs.pro
index 2a4bd3c..af6b2ba 100644
--- a/Pairs.pro
+++ b/Pairs.pro
@@ -7,6 +7,10 @@ SOURCES += main.cpp \
     Cell.cpp \
     Field.cpp

+OTHER_FILES += \
+    main.qml \
+    CellItem.qml
+
 RESOURCES += qml.qrc
Kaffeine commented 8 years ago

@riddlermachine Если вы хотите применить коммит, то создайте файл с таким содержимым:

From 7c7f25897deae89bb90dcf15b9055b5dc9633d34 Mon Sep 17 00:00:00 2001
From: Alexandr Akulich <akulichalexander@gmail.com>
Date: Sun, 17 Apr 2016 16:01:48 +0500
Subject: [PATCH] QML source file added to the project.

This should fix an issue with rebuild.
---
 Pairs.pro | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Pairs.pro b/Pairs.pro
index 2a4bd3c..e1085c1 100644
--- a/Pairs.pro
+++ b/Pairs.pro
@@ -7,6 +7,9 @@ SOURCES += main.cpp \
     Cell.cpp \
     Field.cpp

+OTHER_FILES += \
+    main.qml
+
 RESOURCES += qml.qrc

 # Additional import path used to resolve QML modules in Qt Creator's code model
-- 
2.4.10

Назовите файл <что-нибудь>.patch (git по-умолчанию называет файл по первой строчке сообщения из коммита, в данном случае: 0001-QML-source-file-added-to-the-project.patch) и выполните git am <имя файла>.