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.kof...@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). - 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@qt-project.org http://lists.qt-project.org/mailman/listinfo/development