Skip to content
This repository has been archived by the owner on May 3, 2019. It is now read-only.

QBS is deprecated: swich back to CMake #291

Open
Cogitri opened this issue Oct 29, 2018 · 15 comments
Open

QBS is deprecated: swich back to CMake #291

Cogitri opened this issue Oct 29, 2018 · 15 comments

Comments

@Cogitri
Copy link
Contributor

Cogitri commented Oct 29, 2018

Today Qt officially announced that they're going to deprecate QBS in favour of CMake:

https://blog.qt.io/blog/2018/10/29/deprecation-of-qbs/

Packaging of MellowPlayer has been rather difficult with QBS, some distros (e.g. Void Linux) won't update to any MellowPlayer releases with QBS.

@ColinDuquesnoy ColinDuquesnoy changed the title Using something other than QBS QBS is deprecated: swich back to CMake Oct 29, 2018
@ColinDuquesnoy
Copy link
Owner

What a sad news 😞I really think qbs is much better build system than cmake, at least from a developer point of view.

I guess we'll get back to CMake for next minor release. This is a lots of work as this change will impact CI and packages...

@ZeroDot1
Copy link
Contributor

This is really very sad news, QBS worked very well with Arch Linux and was also a big relief for older computers, because the CPU was not so heavily loaded during compilation.

@ColinDuquesnoy I find it very sad, I am sorry that you have extra work again.

@Cogitri
Copy link
Contributor Author

Cogitri commented Oct 29, 2018

I really think qbs is much better build system than cmake, at least from a developer point of view.

Hum, maybe from a dev point of view it's nice, but for packagers it's hell :)
Thanks for looking into CMake again!

@ColinDuquesnoy
Copy link
Owner

Hum, maybe from a dev point of view it's nice, but for packagers it's hell :)

Out of curiosity, what issues did you faced when packaging MellowPlayer? I've ported rpm/deb/PKGBUILD packages from CMake to qbs and I don't remember it was a hell...

@ColinDuquesnoy ColinDuquesnoy added this to To do in 3.5 via automation Oct 29, 2018
@ColinDuquesnoy ColinDuquesnoy added this to the 3.5.0 milestone Oct 29, 2018
@Cogitri
Copy link
Contributor Author

Cogitri commented Oct 29, 2018

Out of curiosity, what issues did you faced when packaging MellowPlayer? I've ported rpm/deb/PKGBUILD packages from CMake to qbs and I don't remember it was a hell...

  • It's yet another build system (that isn't perse bad, but already annoying)
  • It hardcodes values
  • QBS itself does its best to not cross compile sucessfully
  • If you do get it to cross compile eventually it won't cross compile applications out of the box because instead of using the env variable almost EVERY BUILDSYSTEM EVER uses it uses some funny configuration thingie

@FuchtelJockel
Copy link

  • It's yet another build system (that isn't perse bad, but already annoying)
  • It hardcodes values
  • QBS itself does its best to not cross compile sucessfully
  • If you do get it to cross compile eventually it won't cross compile applications out of the box because instead of using the env variable almost EVERY BUILDSYSTEM EVER uses it uses some funny configuration thingie

+

  • It doesn't work with flatpak unless you patch it.

@Cogitri
Copy link
Contributor Author

Cogitri commented Oct 31, 2018

It just simply doesn't work well (or at all) if you do anything slightly non-standard.

@ColinDuquesnoy
Copy link
Owner

@Cogitri I think it's a matter of perspective. If you expect qbs to work the same as legacy build systems you will be disappointed and maybe frustrated. When used correctly (work with toolchain configuration and profiles) you can get it to cross compile very well. I'd say my experience in cross-compiling some of my private projects was much smoother with qbs than with cmake.

qbs, as with any other tools, has it inconvenients (not enough documentation, no good system to discover system dependencies), it certainly needs to mature more to be complete and work well in corner cases or with new tools such as flatpak.

qbs is a modern build system and going back to cmake feels like going back to cvs/subversion when git is available (no native support for precompiled headers, no way to run tests automatically after a sucessfull build, no parallel builds by default, slow as hell,...).

Anyway it's not worth discussing this further, qbs is deprecated and I will switch back to cmake because it has the best support in IDE (otherwise I may have gone to meson).

@Cogitri
Copy link
Contributor Author

Cogitri commented Nov 1, 2018

otherwise I may have gone to meson

If you wanted to I can make a meson port :)

@ColinDuquesnoy
Copy link
Owner

If you wanted to I can make a meson port :)

That's very kind of you, thank you. I wouldn't be against including a meson port of the cmake build scripts but I probably wouldn't use them myself.

@Cogitri
Copy link
Contributor Author

Cogitri commented Nov 1, 2018

Hm, having two build systems seems unnecessary. It's OK if MellowPlayer keeps using CMake, just hit me up if you change your mind.

@ColinDuquesnoy
Copy link
Owner

FYI there is a working CMake port on the new gitlab repository(https://gitlab.com/ColinDuquesnoy/MellowPlayer). It should work on GNU/Linux. Please try it out report back if you encountered any issues.

3.5 automation moved this from To do to Done Nov 25, 2018
3.5 automation moved this from Done to In progress Nov 25, 2018
@Cogitri
Copy link
Contributor Author

Cogitri commented Nov 25, 2018

Thanks, will try.

@ColinDuquesnoy
Copy link
Owner

@demmm @martinkg FYI

@ColinDuquesnoy
Copy link
Owner

This issue has been moved to our new gitlab issue tracker.

The github repository will be archived soon and this issue will become read-only. We suggest you continue the discussion and follow the progress on this issue at gitlab.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
3.5
  
In progress
Development

No branches or pull requests

4 participants