[Development] Notes on "Qt Build Systems" @ QtCon 2016

Konstantin Tokarev annulen at yandex.ru
Wed Sep 7 13:27:33 CEST 2016



07.09.2016, 14:17, "BogDan Vatra" <bogdan at kdab.com>:
> On marți, 6 septembrie 2016 17:35:03 EEST Cristian Adam wrote:
>>  On Tue, Sep 6, 2016 at 5:14 PM, Kevin Kofler <kevin.kofler at chello.at> wrote:
>>  > I guess somebody could even get CMake to write Qbs files, it would just be
>>  > one more generator. :-)
>>
>>  This was done already
>>  <https://gitlab.kitware.com/cmake/cmake/commit/f85db2f32358e6de921aba7d1cb8e
>>  cb81da934c0>, but it was removed from CMake due to bad feedback from
>>  Qt Creator people.
>
> Ha ha ha!
> The guy who implemented this didn't know that QBS is not better than cmake
> when it comes to give proper information to IDE which is so needed to have
> proper syntax highlighting and code completion. For those who don't know yet,
> QBS *DOESN'T* provide the necessary info to the IDE:
> - no compiler preprocessor defines: https://bugreports.qt.io/browse/QBS-903
> even is hallucinating this bug was closed as invalid :) there is a pending
> patch https://codereview.qt-project.org/#/c/122000/ which might fix it but
> we'll soon celebrate its 2nd anniversary in gerrit :)
> - no system includes paths: https://bugreports.qt.io/browse/QBS-904
> - no c/cpp flags: https://bugreports.qt.io/browse/QBS-905
>
> Having said that, why on earth to create such a generator when QBS support in
> QtCreator is the same (or even worst) than cmake's one?
>
> DISCLAIMER: I was one of the biggest fans of this project, I had so much hopes
> for it, but when you have high hopes you'll also have high disappoints :) .
> I'll try to summarize my thought on QBS:
> - it still has HUGE potential, it has a great easy to use & learn syntax
>
> -it has great features that you can't find in other build systems (e.g. it can
> build multiple ABIs/platforms at once).

For the record, premake can do it as well.

>
> - personally I don't mind that it depends on Qt, what I do mind is that it
> depends on dead Qt modules (e.g. QtScript, it has it's own (outdated?) QML
> parser fork). Other cool build systems (e.g. gradle) download half of the
> internet before they start, so, a build system that depends on a library like
> Qt is not that bad. As I said it has huge potential and in the future Qt will
> help to implement cool features like: automatically download/clone/checkout
> 3rd partly libs, etc.
>
> - QBS was introduced to us as a build system designed with tooling in mind,
> sadly that crucial aspect was forgotten (the above bugs prove what I'm
> saying).
>
> - QBS developers don't use it in large projects with lots of dependencies,
> with situations when you need to build & run tools to generate code, when you
> need to build and/or run tools to check dependencies, when you need to test
> compiler flags, etc. (apart from QtCreator which has just a few dependencies).
> You might think that they started to use QBS to compile Qt to test all these
> things, well, think again, that work was started by a brave contributor
> (Andrew Knight) who is not a QBS developer! After the work was started, QBS
> developers jumped in.
>
> - is QBS finished and ready to replace cmake/qmake/gradle/etc.? IMHO no! There
> are not too many remaining features to implement, but if the development
> continues at current speed I'm afraid we'll see people walking on Mars before
> we'll see QBS finished... I hope that trying to build Qt with QBS will motivate
> QBS developers to implement these features faster.
>
> Cheers,
> BogDan.
>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development

-- 
Regards,
Konstantin



More information about the Development mailing list