Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. current status: writing a build system in cmake

current status: writing a build system in cmake

Scheduled Pinned Locked Moved Uncategorized
45 Posts 23 Posters 3 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

    current status: writing a build system in cmake

    not "something that builds a project and is also implemented in implemented in cmake"

    no, it is "something that is implemented in cmake and can be used to implement a build system that is in turn used as a part of a build system (also in cmake)"

    asmw@infosec.exchangeA This user is from outside of this forum
    asmw@infosec.exchangeA This user is from outside of this forum
    asmw@infosec.exchange
    wrote last edited by
    #2

    @whitequark

    You... choose to do that?

    Blink twice if you're under duress.

    1 Reply Last reply
    0
    • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

      current status: writing a build system in cmake

      not "something that builds a project and is also implemented in implemented in cmake"

      no, it is "something that is implemented in cmake and can be used to implement a build system that is in turn used as a part of a build system (also in cmake)"

      xgranade@wandering.shopX This user is from outside of this forum
      xgranade@wandering.shopX This user is from outside of this forum
      xgranade@wandering.shop
      wrote last edited by
      #3

      @whitequark checks out

      1 Reply Last reply
      0
      • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

        current status: writing a build system in cmake

        not "something that builds a project and is also implemented in implemented in cmake"

        no, it is "something that is implemented in cmake and can be used to implement a build system that is in turn used as a part of a build system (also in cmake)"

        whitequark@social.treehouse.systemsW This user is from outside of this forum
        whitequark@social.treehouse.systemsW This user is from outside of this forum
        whitequark@social.treehouse.systems
        wrote last edited by
        #4

        i'm making it sound more complicated than it is, the actual thing boils down to "cmake's dependency resolution algorithm doesn't work for a particular edge case i'm having, so i'm implementing a different one, in cmake script"

        but also "dependency resolution algorithm" is basically what a build system is, so,

        whitequark@social.treehouse.systemsW guenther@bsd.networkG 2 Replies Last reply
        0
        • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

          i'm making it sound more complicated than it is, the actual thing boils down to "cmake's dependency resolution algorithm doesn't work for a particular edge case i'm having, so i'm implementing a different one, in cmake script"

          but also "dependency resolution algorithm" is basically what a build system is, so,

          whitequark@social.treehouse.systemsW This user is from outside of this forum
          whitequark@social.treehouse.systemsW This user is from outside of this forum
          whitequark@social.treehouse.systems
          wrote last edited by
          #5

          hasn't read the book / has read the book

          Link Preview Image
          xgranade@wandering.shopX solonovamax@tech.lgbtS 2 Replies Last reply
          0
          • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

            hasn't read the book / has read the book

            Link Preview Image
            xgranade@wandering.shopX This user is from outside of this forum
            xgranade@wandering.shopX This user is from outside of this forum
            xgranade@wandering.shop
            wrote last edited by
            #6

            @whitequark lolz

            1 Reply Last reply
            0
            • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

              hasn't read the book / has read the book

              Link Preview Image
              solonovamax@tech.lgbtS This user is from outside of this forum
              solonovamax@tech.lgbtS This user is from outside of this forum
              solonovamax@tech.lgbt
              wrote last edited by
              #7

              @whitequark which book?

              whitequark@social.treehouse.systemsW 1 Reply Last reply
              0
              • solonovamax@tech.lgbtS solonovamax@tech.lgbt

                @whitequark which book?

                whitequark@social.treehouse.systemsW This user is from outside of this forum
                whitequark@social.treehouse.systemsW This user is from outside of this forum
                whitequark@social.treehouse.systems
                wrote last edited by
                #8

                @solonovamax the meme i'm obliquely referencing was about GoT red wedding

                1 Reply Last reply
                0
                • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                  current status: writing a build system in cmake

                  not "something that builds a project and is also implemented in implemented in cmake"

                  no, it is "something that is implemented in cmake and can be used to implement a build system that is in turn used as a part of a build system (also in cmake)"

                  x42@mastodon.socialX This user is from outside of this forum
                  x42@mastodon.socialX This user is from outside of this forum
                  x42@mastodon.social
                  wrote last edited by
                  #9

                  @whitequark That must be the most masochistic tech project short of installing Window ME.

                  Now I wonder what you're up to next 🙂

                  whitequark@social.treehouse.systemsW 1 Reply Last reply
                  0
                  • x42@mastodon.socialX x42@mastodon.social

                    @whitequark That must be the most masochistic tech project short of installing Window ME.

                    Now I wonder what you're up to next 🙂

                    whitequark@social.treehouse.systemsW This user is from outside of this forum
                    whitequark@social.treehouse.systemsW This user is from outside of this forum
                    whitequark@social.treehouse.systems
                    wrote last edited by
                    #10

                    @x42 in something like 2019 i tried to improve the "simple makefile" that this project used to have and it damn near gave me a psychotic break after i stared at it for three days. believe me, meta-cmake is an improvement

                    1 Reply Last reply
                    0
                    • cinebox@masto.hackers.townC This user is from outside of this forum
                      cinebox@masto.hackers.townC This user is from outside of this forum
                      cinebox@masto.hackers.town
                      wrote last edited by
                      #11

                      @whitequark Any sufficiently complicated Cmake project contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of a working build system.

                      1 Reply Last reply
                      0
                      • asmw@infosec.exchangeA This user is from outside of this forum
                        asmw@infosec.exchangeA This user is from outside of this forum
                        asmw@infosec.exchange
                        wrote last edited by
                        #12

                        @whitequark

                        The world of buildsystems is weird and fascinating.

                        My opinion on cmake is that (for certain domains) it's the best there is, and that's sad.

                        J 1 Reply Last reply
                        0
                        • whitequark@social.treehouse.systemsW This user is from outside of this forum
                          whitequark@social.treehouse.systemsW This user is from outside of this forum
                          whitequark@social.treehouse.systems
                          wrote last edited by
                          #13

                          to be clear i'm not doing this because i love writing cmake syntax that would drive mere mortals mad. i do it because i'm replacing a "simple Makefile" that has perhaps once fit that bill, but eventually turned into a 1200-line (not including *.inc files) monstrosity with a load-bearing rot13 call inside of a manual reimplementation of half of git submodule

                          (this particular monstrosity has since been removed but the overall genre has not changed)

                          whitequark@social.treehouse.systemsW chrisvest@mastodon.socialC noisytoot@berkeley.edu.plN lambda@chaosfurs.socialL ppxl@social.tchncs.deP 6 Replies Last reply
                          0
                          • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                            to be clear i'm not doing this because i love writing cmake syntax that would drive mere mortals mad. i do it because i'm replacing a "simple Makefile" that has perhaps once fit that bill, but eventually turned into a 1200-line (not including *.inc files) monstrosity with a load-bearing rot13 call inside of a manual reimplementation of half of git submodule

                            (this particular monstrosity has since been removed but the overall genre has not changed)

                            whitequark@social.treehouse.systemsW This user is from outside of this forum
                            whitequark@social.treehouse.systemsW This user is from outside of this forum
                            whitequark@social.treehouse.systems
                            wrote last edited by
                            #14

                            every time you run make it executes so many $(shell) calls (there are 40 of them, though some would be ifeq'd out) that it takes more time to create a dependency graph than to incrementally compile and link one compilation unit*

                            * if you use lld and split-dwarf, but still

                            recursive@hachyderm.ioR 1 Reply Last reply
                            0
                            • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                              to be clear i'm not doing this because i love writing cmake syntax that would drive mere mortals mad. i do it because i'm replacing a "simple Makefile" that has perhaps once fit that bill, but eventually turned into a 1200-line (not including *.inc files) monstrosity with a load-bearing rot13 call inside of a manual reimplementation of half of git submodule

                              (this particular monstrosity has since been removed but the overall genre has not changed)

                              chrisvest@mastodon.socialC This user is from outside of this forum
                              chrisvest@mastodon.socialC This user is from outside of this forum
                              chrisvest@mastodon.social
                              wrote last edited by
                              #15

                              @whitequark Catherine is just doing build system freediving again

                              snoopj@hachyderm.ioS 1 Reply Last reply
                              0
                              • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                                to be clear i'm not doing this because i love writing cmake syntax that would drive mere mortals mad. i do it because i'm replacing a "simple Makefile" that has perhaps once fit that bill, but eventually turned into a 1200-line (not including *.inc files) monstrosity with a load-bearing rot13 call inside of a manual reimplementation of half of git submodule

                                (this particular monstrosity has since been removed but the overall genre has not changed)

                                noisytoot@berkeley.edu.plN This user is from outside of this forum
                                noisytoot@berkeley.edu.plN This user is from outside of this forum
                                noisytoot@berkeley.edu.pl
                                wrote last edited by
                                #16
                                @whitequark what is it using rot13 for?
                                whitequark@social.treehouse.systemsW 1 Reply Last reply
                                0
                                • chrisvest@mastodon.socialC chrisvest@mastodon.social

                                  @whitequark Catherine is just doing build system freediving again

                                  snoopj@hachyderm.ioS This user is from outside of this forum
                                  snoopj@hachyderm.ioS This user is from outside of this forum
                                  snoopj@hachyderm.io
                                  wrote last edited by
                                  #17

                                  @chrisvest @whitequark what an amazing turn of phrase, thank you for this

                                  1 Reply Last reply
                                  0
                                  • noisytoot@berkeley.edu.plN noisytoot@berkeley.edu.pl
                                    @whitequark what is it using rot13 for?
                                    whitequark@social.treehouse.systemsW This user is from outside of this forum
                                    whitequark@social.treehouse.systemsW This user is from outside of this forum
                                    whitequark@social.treehouse.systems
                                    wrote last edited by
                                    #18

                                    @noisytoot i think it was trying to grep itself but without hitting the grep call, or something similarly unhinged

                                    1 Reply Last reply
                                    0
                                    • xgranade@wandering.shopX This user is from outside of this forum
                                      xgranade@wandering.shopX This user is from outside of this forum
                                      xgranade@wandering.shop
                                      wrote last edited by
                                      #19

                                      @whitequark Gah. This, this, this. I like having Makefiles or similar to capture blessed ways of invoking build systems, but yeah, there's a reason build systems exist, ffs.

                                      eloy@hsnl.socialE 1 Reply Last reply
                                      0
                                      • xgranade@wandering.shopX xgranade@wandering.shop

                                        @whitequark Gah. This, this, this. I like having Makefiles or similar to capture blessed ways of invoking build systems, but yeah, there's a reason build systems exist, ffs.

                                        eloy@hsnl.socialE This user is from outside of this forum
                                        eloy@hsnl.socialE This user is from outside of this forum
                                        eloy@hsnl.social
                                        wrote last edited by
                                        #20

                                        @xgranade @whitequark developer looking at essential complexity: I can remove this accidental complexity

                                        1 Reply Last reply
                                        0
                                        • artemis@with.iridium.inkA This user is from outside of this forum
                                          artemis@with.iridium.inkA This user is from outside of this forum
                                          artemis@with.iridium.ink
                                          wrote last edited by
                                          #21

                                          @whitequark every succesful Makefile-driven project I've seen is in fact a complex Makefile

                                          artemis@with.iridium.inkA 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups