У меня есть QtCreator на P C с Windows и Ubuntu. Ubuntu я использую, чтобы построить проект для Linux и для RaspberryPi. A Windows P C используется для сборки проекта в x86, x86_64 и android: armv7a, arm64, x86 (для эмулятора). Также windows используется для разработки встроенного программного обеспечения для stm32. Соответственно мне нужны профили 6 qbs для windows и 3 профиля для linux. Сам проект использует QBS в качестве системы сборки.
Проблема в том, что очень трудно определить, какой набор используется в настоящее время. Ниже я привожу начало моего файла qbs, где я инициализирую основные переменные.
import qbs
Project {
property var _TargetEnum: ({
win_x86 : 1,
win_x86_64 : 2,
raspberryPi : 3,
stm32 : 4,
android : 5,
linux : 6,
})
property var Target
Properties {
condition: (qbs.targetPlatform === "windows")
Target: (qbs.architecture === "x86") ? _TargetEnum.win_x86 : _TargetEnum.win_x86_64
}
Properties {
condition: (qbs.targetPlatform === "RaspberryPi")
Target: _TargetEnum.raspberryPi
}
Properties {
condition: (qbs.targetPlatform === "stm32")
Target: _TargetEnum.stm32
}
Properties {
condition: (qbs.targetPlatform === "android")
Target: _TargetEnum.android
}
Properties {
condition: (qbs.targetPlatform === "linux")
Target: _TargetEnum.linux
}
property var _BuildModeEnum: ({
debug : 1,
release : 2
})
property var BuildMode: qbs.buildVariant.contains("debug") ?
_BuildModeEnum.debug :
_BuildModeEnum.release
...
}
Профили QBS, созданные автоматически, не имеют полностью заполненных полей, и я должен вручную заполнить эти поля, используя qbs-config Утилита Более того, поведение этой утилиты и qtcreator отличается в windows и linux.
В windows, происходит следующее: после открытия qtcreator старые настройки в Tools-Kit-Qbs остаются от В последнем рабочем сеансе после открытия рабочего проекта настройки сбрасываются в состояние по умолчанию. Затем я открываю утилиту qbs-config-ui и вручную вносю изменения в qbs.targetPlatform и qbs.architecture в нужные мне пакеты, сохраняю настройки. В QtCreator я открываю окно настроек и вижу, что мои изменения были сделаны. Тогда я могу работать до следующего рабочего сеанса.
В Linux это поведение обычно отсутствует, никаких закономерностей того, как профиль обновляется в QtCreator и как он вылетает, я пока не смог увидеть.
Мой вопрос : как мне раз и навсегда настроить профили QBS, чтобы мне не пришлось их перенастраивать.