> Qbs has by definition more features than cmake because it is a make tool.

I understand Qbs may have greater potential by design, but it has far less 
features than CMake today. I refer features as ability to detect various 
components, such as CUDA, OpenGL and support many platforms. However I don't 
claim Cmake is perfect, i.e. it has ugly confusing syntax (yet it is just a 
matter of getting used to that).

So far I managed to build & run Qbs on my Mac. However I can't see any 
advantage over Qmake (yet?), of course from my standpoint as potential Qbs 
user. It takes few seconds to start qbs qt-creator rebuild (reading BG from 
disk), where it is almost instant for LLVM/Clang ninja build.

Moreover it takes more to build qt-creator with Qbs (20min) than Qmake+make 
(18min). Also it doesn't support precompiled headers, at least not for 
qt-creator, where Qmake+make+PCH goes down to 9min.

> Neither cmake nor qmake build anything, they just generate makefiles or 
> project files. In that respect qmake and cmake are quite alike. Qbs is a 
> full-featured build tool: it takes care of generating the DAG *and* executing 
> it. It’s like qmake and ninja in one.

Qbs doing both configure & build isn't really advantage to me. Once Qbs have 
similar feature coverage as CMake and (re)builds faster than ninja, or maybe 
generates less bloated ninja/Makefile/Xcode projects, supports some caching, or 
distributed build and finally has decent documentation, then it may be 
considered as new promising alternative.

Opposite, I take as advantage ninja being little independent build only tool, 
because anyone can decide how to generate build files for Ninja.

> In the long run I think Qt either need Qbs as the default build system, or 
> ninja support in qmake.

Agreed.

> Ninja makes all the difference when building llvm. On a modern system I can 
> get null llvm rebuild times on the order of 100ms with ninja, and under a 
> second with a single changed .cpp file - and that’s a big project. The 1 
> second single-file rebuilds on fairly small make-based projects (like 
> examples bundled with Qt) are really bad. With cmake+ninja, a single changed 
> .cpp rebuild of a small Qt example on OS X takes about 250ms.

Yes, this was whole point starting this thread. Working on big project with 
ninja is awesome if you rebuild and run many times.

Also I wish to express my thanks to Qt developers for great CMake+ninja support 
in Qt Creator, as IMHO Qt Creator is best C++ editor (IDE) around the globe. 
Working with such huge codebase like LLVM/Clang is a pleasure in QtC.

Regards,
-- 
Adam

_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to