Skip to content

Switch from CMake to Qbs

Colin Duquesnoy requested to merge qbs into develop

Created by: ColinDuquesnoy

I plan to switch from cmake to qbs. Qbs (pronounced cubes) is the new build system from the Qt company that will replace qmake in the future. Qbs is much easier to use (from a developer perspective) than CMake, especially for Qt projects.

The build instructions have been updated and both AppVeyor and Travis-CI builds are passing.

I plan to merge this branch into develop in a few days. Qbs will be used for MellowPlayer 3.4 release (which I haven't started working on yet). If a bug fix is needed for version 3.3 it will be made from the master branch (with CMake).

Please try the qbs branch and report any issues you might encounter before I merge to develop.

About Qbs

Pros

  • nice language that is a derivation of QML. This makes maintaining qbs files a breeze and introduce less workflow disruption when used to build a QML application.
  • flexible project structure
  • ability to integrate custom developer tools
  • automatic generation of moc, qrc, qm files,... -> increase developers productivity
  • multi-threaded builds by default -> faster builds by default
  • very good integration with QtCreator
  • native support for pre-compiled headers -> faster builds

Cons

  • not supported by all IDE (e.g. CLion)
  • require a very recent version of qbs to build MellowPlayer (qbs >= 1.10)
  • lack of built-in solutions for deployement. We still have to rely on windeployqt/macdeployqt/linuxdeployqt

Merge request reports