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 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
    #1

    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 xgranade@wandering.shopX whitequark@social.treehouse.systemsW x42@mastodon.socialX aismallard@woem.spaceA 7 Replies 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)"

      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
                                          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