Announcement

Collapse
No announcement yet.

GNOME Developers Continue Working On Meson Build System, Much Faster Build Times

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by cl333r View Post

    Why is it crap? What is better while having proof that it can build complex projects like Qt?
    Well, Qt is built with a combination of a configure script or exe and qmake; at one point the Qt guys even started working on a completely new build system to replace qmake. I'm not sure what the state of that is, it's gotten a bit quiet about it.

    Having used cmake since KDE used it to replace autotools in 2006, I have seen plenty of warts and pimples in cmake. The main problem is that it changes too fast -- cmake 3.0 is a completely different thing from cmake 1.0. But it's still much better than autotools, scons or qmake. It's very widely used, which is also a good thing. More and more libraries have a cmake build system, including boost, for instance. It can do really complex things quite easily: I can build all the dependencies for Krita with a single cmake project that downloads, patches and configures them on three different operating systems.

    All build system that work in the real world grow gnarly and warty, and I don't see any need for yet another build system. But I do understand why the Gnome guys feel they have to build one: autotools is unusable in 2016 and obviously they cannot move to cmake, because that' what KDE has used for ten years. Much better to re-invent yet another build system! But though Meson might look clean and sensible _now_ (I haven't checked...), it'll either be abandoned or as gnarl as all build systems in a few years.

    Comment


    • #12
      Originally posted by boudewijnrempt View Post

      Well, Qt is built with a combination of a configure script or exe and qmake; at one point the Qt guys even started working on a completely new build system to replace qmake. I'm not sure what the state of that is, it's gotten a bit quiet about it.

      Having used cmake since KDE used it to replace autotools in 2006, I have seen plenty of warts and pimples in cmake. The main problem is that it changes too fast -- cmake 3.0 is a completely different thing from cmake 1.0. But it's still much better than autotools, scons or qmake. It's very widely used, which is also a good thing. More and more libraries have a cmake build system, including boost, for instance. It can do really complex things quite easily: I can build all the dependencies for Krita with a single cmake project that downloads, patches and configures them on three different operating systems.

      All build system that work in the real world grow gnarly and warty, and I don't see any need for yet another build system. But I do understand why the Gnome guys feel they have to build one: autotools is unusable in 2016 and obviously they cannot move to cmake, because that' what KDE has used for ten years. Much better to re-invent yet another build system! But though Meson might look clean and sensible _now_ (I haven't checked...), it'll either be abandoned or as gnarl as all build systems in a few years.
      meson wasn't invented by gnome. They just start to use it.

      Comment


      • #13
        No real surprise that it's so much faster on Windows; due to their incessant forking, configure scripts slow to an absolute crawl on this platform.

        Comment


        • #14
          What I like about meson is the dependency management, where it checks if a certain library version is on your system and depending on the result dynamically links your binary to it or downloads, builds and links to it statically.

          Comment


          • #15
            Originally posted by boudewijnrempt View Post
            But I do understand why the Gnome guys feel they have to build one
            So anyone giving a talk to GNOME immediately is part of GNOME? There were some shared talks during the Desktop Summits! Meson people were able to convince Endless to try out Meson. As a result there's more interest into this buildsystem.

            Comment


            • #16
              Originally posted by PyroDevil View Post
              What I like about meson is the dependency management, where it checks if a certain library version is on your system and depending on the result dynamically links your binary to it or downloads, builds and links to it statically.
              Oooh, that's nice. Does this also mean that it is able to build static binaries without people having to figure out arcane options?

              Comment


              • #17
                Originally posted by bkor View Post

                So anyone giving a talk to GNOME immediately is part of GNOME?
                Didn't you know, thats how it is in the current world. If you talk to any group, you are instantly affiliated with them. If you talk to feminist, you have to be one yourself. If the NSA discovers that you have written an email to someone they suspect to be a terrorist, you have to be one too.

                Comment


                • #18
                  Originally posted by starshipeleven View Post
                  Oooh, that's nice. Does this also mean that it is able to build static binaries without people having to figure out arcane options?
                  For more infos: https://github.com/mesonbuild/meson/...-system-manual

                  Comment


                  • #19
                    Originally posted by PyroDevil View Post
                    Didn't you know, thats how it is in the current world. If you talk to any group, you are instantly affiliated with them. If you talk to feminist, you have to be one yourself. If the NSA discovers that you have written an email to someone they suspect to be a terrorist, you have to be one too.
                    Ah, I was wondering what Matthias Klumpp did for GNOME to become a foundation member:
                    Note:  This blog post outlines upcoming changes to Google Currents for Workspace users. For information on the previous deprecation of Googl...


                    I see it is now part of a new secret assimilation plot (don't tell anyone!).

                    Comment


                    • #20
                      Originally posted by PyroDevil View Post
                      What I like about meson is the dependency management, where it checks if a certain library version is on your system and depending on the result dynamically links your binary to it or downloads, builds and links to it statically.
                      That is a terrible feature for deterministic builds. That stuff might probably be acceptable for web development which is a complete wild-west style fsckpot of mess anyway but for any large software project it simply would not be suitable. For Windows I generally provide the headers and .dll (to generate a compiler specific lib from) with the project but for everything else, yum install, apt-get install is what we use *nix for!

                      Whilst I use CMake at work (because of the other developers lack of understanding how a Makefile is written), I still don't quite understand why people use CMake or other generators rather than standard Makefiles. Basically the platform specific stuff goes into i.e windows.msvc.Mk and the stuff that works on all platforms goes into common.Mk.

                      In practice CMake is a failure anyway. Get any CMake project and attempt to build it with every single generator (-G) your build of CMake supports. I can guarantee 80% of them will fail. For example Borland, Eclipse CDT4, Watcom WMake. The error wont even be a compile error, it will be a build harness problem.

                      But yes, anything is better than autotools.

                      Comment

                      Working...
                      X