Перевёл некоторые проектики свои на Qbs. Быстрая сборка, приятный синтаксис, но как уже говорилось, картину портят разные недоделки. Например, решил добавить для gcc флаги для оптимизации под конкретный процессор, типа
-mfpath=sse -march=pentium4 и т.д.
Обнаружилось следующее: как только добавляем в
cpp.cxxFlags флаг
-march=xxx, перестает собираться:
The following properties have invalid values:
cpp.cxxFlags: '-target', '-triple', '-arch' and '-march' cannot appear in flags; set qbs.architecture instead
...а в
qbs.architecture можно указать лишь в общих чертах: "x86", "x86_64", "arm".
Гуглю, висит баг
QBS-1018 и в комментах рекомендуют для этого использовать недокументированное свойство
cpp.machineType, значение которого при использовании GCC будет передаваться параметру -march
Javascript
Properties {
condition: qbs.toolchain.contains("gcc")
cpp.machineType: "pentium4"
cpp.cxxFlags: ["-mfpmath=sse"]
}
Так работает, но баг открытый с сентября прошлого года и всё по прежнему, в документации про
machineType ничего нету и т.д.