ANNOUNCEMENT

CMake is based.

KINGMAKE

CRIME Shirt $21.68

Ape Out Shirt $21.68

CRIME Shirt $21.68

  1. 2 weeks ago
    Anonymous

    stop, use meson

    • 2 weeks ago
      Anonymous

      >stop, use meson
      wake me up when it has good integration with CLion.

      zzz

      • 2 weeks ago
        Anonymous

        CLion is proprietary software and should not exist.

        *unstoppable combo*

        visual studio is proprietary software and should not exist.

        https://www.gnu.org/proprietary/

        • 2 weeks ago
          Anonymous

          you are a commie b***h and should be anihillated or live in total poverty like all your communist friends

          • 2 weeks ago
            Anonymous

            all my communist friends are college professors with PhDs

          • 2 weeks ago
            Anonymous

            and they all have surnames pertaining to precious metals or gemstones

            weird huh

          • 2 weeks ago
            Anonymous

            >high IQ people have precious surnames
            >low IQ people have irrelevant surnames
            curious

          • 2 weeks ago
            Anonymous

            >IQ meme @ Uni
            oh nonoononononoono HAHAHAHAHHAHAH

  2. 2 weeks ago
    Anonymous

    Is it like Cname?

  3. 2 weeks ago
    Anonymous

    It is
    But I'm using qmake instead
    A lot simpler

  4. 2 weeks ago
    Anonymous

    xmake Black folk rise up

    • 2 weeks ago
      Anonymous

      make is all I need.

      >xmake
      >A cross-platform build utility based on Lua
      Never heard of this one but wow.

      • 2 weeks ago
        Anonymous

        make is already slow for some big projects
        >lets make it slower

  5. 2 weeks ago
    Anonymous

    Based and truth pilled.
    CMake actually started getting pretty damn good after like version 3.15
    All the other builds systems are just cope at this point.

  6. 2 weeks ago
    Anonymous

    [...]

    Exacly, why are you answering, moron
    Go back to plebbit

  7. 2 weeks ago
    Anonymous

    still using GNU Make because I'm not moronic

    • 2 weeks ago
      Anonymous

      Show me your makefile and I'll tell you why it's broken. Nobody can write good makefiles, at best they're not aware of the guarantees and common interfaces that proper build systems provide. It's single handedly the reason we can't have good cross compilation support.

      • 2 weeks ago
        Anonymous

        >It's single handedly the reason we can't have good cross compilation support
        ??? just set CC to the path of the cross compiler
        if it's hardcoded, is it really too hard to simply edit the makefile?

        • 2 weeks ago
          Anonymous

          >is it really too hard to edit
          I'm not going to fork every library I use to cross compile it...
          Also the issue is often a combination of not inheriting CC from the environment (homie wanted clang or gcc-13), not inheriting CFLAGS or LDFLAGS from the environment and using them properly, not supporting the PKG_CONFIG variable, or compiling some tool that runs during build with CC, or if they do that properly then introducing yet another name for the build-time compiler that isn't BUILD_CC or CC_FOR_BUILD, or forgetting to build a tool for both the build *and* host if it's to be installed as well...
          I've seen varying combinarions of the above all over the place. Any Makefile-based project is subject to intensive scrutiny when I package it, as I need to figure out which magic combination of flags (and bugs) the author introduced in his snowflake project. Other build systems still allow you to break cross-compilation, but make it harder to do so, and --build= and --host= are fricking universal in both autotools and meson.

          • 2 weeks ago
            Anonymous

            then you won't be cross compiling

          • 2 weeks ago
            Anonymous

            >but make it harder to do so, and --build= and --host= are fricking universal in both autotools and meson.
            You have a false sense of security here.
            >(homie wanted clang or gcc-13)
            This is why. There are literally projects that only support gcc, or only support clang, because they use compiler specific features.
            Would you prefer if that project instead had a configure script that yelled at you if you don't have the right compiler?
            >checking for gcc >= 13.2.0... no
            >configure: error: gcc 13.2.0 is required.
            If that project was a simple Makefile instead, it would be much easier to patch it yourself, and take the responsibility of testing it.
            Packagers are a bunch of primadonnas.

      • 2 weeks ago
        Anonymous

        >Show me your makefile and I'll tell you why it's broken.
        .POSIX:
        OBJ=a.o b.o

        prog: $(OBJ)
        $(CC) -o $@ $(CFLAGS) $(OBJ)

        clean:
        rm -f $(OBJ)

        • 2 weeks ago
          Anonymous

          not him but your rule is dogshit, it should be
          prog: $(OBJ)
          $(LINK.c) -o $@ $^ $(LDLIBS)

          Try being less of a nocodeshitter next time.

          • 2 weeks ago
            Anonymous

            >$(LINK.c)
            >$^
            GTFO wannabe.

          • 2 weeks ago
            Anonymous

            >wannabe
            LINK.c is predefined in GNU Make and you're a moronic nocodeshitter so you don't even know what it does and why it's better than your garbage that you probably copy pasted off stack overflow since you have shit for brains

          • 2 weeks ago
            Anonymous

            >GNU Make
            GTFO nocoder.

          • 2 weeks ago
            Anonymous

            the only Make implementation that matters, keep seething worthless troony

          • 2 weeks ago
            Anonymous

            Nocoder cope.

        • 2 weeks ago
          Anonymous

          not him but your rule is dogshit, it should be
          prog: $(OBJ)
          $(LINK.c) -o $@ $^ $(LDLIBS)

          Try being less of a nocodeshitter next time.

          >the moron filtered by GNU Make is unfortunately correct

  8. 2 weeks ago
    Anonymous

    >cmake version is too old
    >cmake version is too new
    yeah I just rather use GNU make

    • 2 weeks ago
      Anonymous

      >CMake does not support this yet
      GNU Make supports me implementing it without moronic DSL
      the inversion is funny, to me CMake feels like using C because everything must be convoluted, while GNU Make feels like using C++ because everything just works in few trivial to understand lines
      t. C++ programmer

  9. 2 weeks ago
    Anonymous

    Is there any guide to using Cmake that isn't that stupid paywalled book? It feels like Cmake suffers from the same flaw that C++ does. There are multiple ways to do anything, and one way is outdated and not recommended.

    • 2 weeks ago
      Anonymous

      >Is there any guide to using Cmake that isn't that stupid paywalled book?
      No. Try https://xmake.io/

    • 2 weeks ago
      Anonymous

      https://cliutils.gitlab.io/modern-cmake/

  10. 2 weeks ago
    Anonymous

    OP here, I meant cursed.

  11. 2 weeks ago
    Anonymous

    gentootroony thread

  12. 2 weeks ago
    Anonymous

    I've come to enjoy meson, it's very simple and pretty fast

  13. 2 weeks ago
    Anonymous

    Automake is GNU. GNU means freedom. So Automake is better.

    • 2 weeks ago
      Anonymous

      better but not good, GNU Make is all you need

    • 2 weeks ago
      Anonymous

      automake is a disgrace

  14. 2 weeks ago
    Anonymous
  15. 2 weeks ago
    Anonymous

    My issue with it is that it isn't a build system at all. It just generates other makefiles/project files so that another tool can then do the actual work. As well as the issue of the two falling out of sync (i.e. sometimes you need to run both cmake and make after making a change, othertimes just make is enough), it also means you have another abstraction layer to deal with. You know you need to set particular flags but can't just do it, you have to look up or guess how cmake represents that concept and hope the abstractions work themselves out.

    • 2 weeks ago
      Anonymous

      A good build system should be like cargo. It should build projects, manage dependencies, automatically install dependencies, etc. Xmake is like Cargo for c++.

      • 2 weeks ago
        Anonymous

        >build system should do everything outside of scope of a build system
        trips of truth, satanic troony

        • 2 weeks ago
          Anonymous

          do you want to program or do you want to spend time learning about 100 different tools to manage your project?

          • 2 weeks ago
            Anonymous

            my projects only require GNU Bash and GNU Make, pkg-config, working compiler, and optionally git, where's the 95 other tools?

          • 2 weeks ago
            Anonymous

            try something a little bigger than a 100 lines of code toy project. when you build something that thousands of people are going to use, you have to use tools like

            - build system
            - package manager
            - static analyzers
            - sanitizers
            - testing
            - formatters, linters

            It's probably not that hard to understand why it's better when you get most of the essentials from one standard tool (like cargo) than a million competing alternatives.
            In the cpp world, Xmake tries to be close to this ideal from what I see but it is not as versatile.

          • 2 weeks ago
            Anonymous

            >build system
            GNU Make
            >package manager
            pkg-config
            >static analyzers
            my brain and my compiler
            >sanitizers
            oh no whatever will I do I'm so scared of adding one more flag before I rebuild my project
            >testing
            like 3 lines in GNU Make
            >formatters, linters
            my brain, I have autism and if you don't format your code the way I like it, I will reject your PR until you do

          • 2 weeks ago
            Anonymous

            >my brain
            this is not sustainable when your code base grows larger than 100 lines so you're full of shit script kiddie who's never written something people actually use.
            >GNU Make
            try compiling for different operating systems. you can't.

          • 2 weeks ago
            Anonymous

            >this is not sustainable
            tests make sure old things don't break when I change them, and when I change things I only change specific parts of program, it's trivial, not my fault if your IQ is low
            >compiling for different operating systems
            that's what ./configure step is for, nocodeshitter

          • 2 weeks ago
            Anonymous

            you have Black person IQ.

          • 2 weeks ago
            Anonymous

            my software has very few bugs, most of which noone else except me has encountered because I fix them before it is released, keep seething nocodeshitter

          • 2 weeks ago
            Anonymous

            that must be because no one uses your software.

          • 2 weeks ago
            Anonymous

            I accept your concession.

          • 2 weeks ago
            Anonymous

            even basic stuff like quarantining code with PRIVATE build cflag and stuff too, or just PRIVATE in general. CMake is just the least shit choice.

          • 2 weeks ago
            Anonymous

            CMake 3.21+ with Ninja is the best build system in C++ without contest and honsetly I don't see any build system competing with it in the future.

            sounds like there should be some competition.
            these open source libs have been collecting dust for years/decades

          • 2 weeks ago
            Anonymous

            good luck with that. just be blessed with knowing that clang and gcc are close enough and that most everything will just work on Linux.

          • 2 weeks ago
            Anonymous

            I'd argue the opposite, CMake used to be shit up until a few years ago. The new Python and CUDA integration options have really turned it into the powerhouse needed for modern C++ projects. Put in Ninja to clean up the messy make files and then you got a really great build system.

          • 2 weeks ago
            Anonymous

            what does pkg config do I don't get it
            teach me make senpai

          • 2 weeks ago
            Anonymous

            lets relevant projects provide CFLAGS and LDLIBS that you can use in your own Makefile because your time isn't worthless enough to try and write them by hand.

          • 2 weeks ago
            Anonymous

            basically the find_package() of cmake, for gnu crap, but less powerful.

          • 2 weeks ago
            Anonymous

            >less powerful
            elaborate, nocodeshitter

          • 2 weeks ago
            Anonymous

            find_package executes code and asserts features.

          • 2 weeks ago
            Anonymous

            >executes code
            >asserts features
            so it's bloat and redundant, got it

    • 2 weeks ago
      Anonymous

      It annoys the shit of me that when I add a file in cmake it recompiles the entire project
      It might be because the cmake file is configured incorrectly but I don't give a shit. I didn't make it. It's not my job to deal with this shit janitor task.

      • 2 weeks ago
        Anonymous

        Don't add files manually. Use file(GLOB) with the "CONFIGURE_DEPENDS" option.

        • 2 weeks ago
          Anonymous

          The gurus all say glob bad.

          • 2 weeks ago
            Anonymous

            The gurus are homosexuals. Everyone who using GLOB that way don't run into issues. The tradeoff (because CMaks always has) is slower generation time.

        • 2 weeks ago
          Anonymous

          GLOB bad

        • 2 weeks ago
          Anonymous

          GLOB bad

          meanwhile in GNU Make it's just
          >SRC := ${wildcard *.c}

          • 2 weeks ago
            Anonymous

            Bad for the same reasons

          • 2 weeks ago
            Anonymous

            you can't name a single reason, nocodeshitter

      • 2 weeks ago
        Anonymous

        Your CMake files are configured incorrectly if adding or changing a single source file causes full re-compilation.
        It should only re-build the target (executable or library) that actually contains the modified file.
        It will also re-build all the targets that depend on the re-built target.

        Your problem likely stems from your cmake janny using GLOB to add files to targets which basically disables cmakes ability to track which file belongs to which target.
        Could also be that they are overusing target linking, and linking the target to a bunch of stuff that didnt need to be linked.

        • 2 weeks ago
          Anonymous

          >which basically disables cmakes ability to track which file belongs to which target
          lmao cmake is pathetic, GNU Make just doesn't have this problem

          • 2 weeks ago
            Anonymous

            >Executable 'A' only uses a.cpp
            >Executable 'B' only uses b.cpp
            >assign "*.cpp" to both targets
            >waaaah why does 'A' get recooompiled when I only changed b.cpp!!!!

          • 2 weeks ago
            Anonymous

            orthogonal problem, meds

          • 2 weeks ago
            Anonymous

            Kek you've never written a single line of code have you?

          • 2 weeks ago
            Anonymous

            >mindbroken troony gets told, backpedals into hurr you never made anything
            if I was such a mentally ill freak that I wanted to create more than one executable from a project, I'd put files that are meant to be part of specific executable into separate directory
            >inb4 but what if some files are shared
            hope this won't come up as you may not want to tell me that you are nocodeshitter

          • 2 weeks ago
            Anonymous

            >having more than one executable per project?
            You dont need this!
            >cross-platform support?
            You dont need this!
            >clearly defining source files of a target?
            You dont need this!
            >re-using code?
            You dont need this!
            >properly assessing the original post and offering a real rebuttal that is more than "X good, Y bad"
            You dont need this!

            Take your meds Ebussy, there are use-cases outside of your little walled garden of a brain.

          • 2 weeks ago
            Anonymous

            cool nocodeshitter cope, but my makefile covers all of these usecases

          • 2 weeks ago
            Anonymous

            nta but post you project repo or stfu frickin homosexual

          • 2 weeks ago
            Anonymous

            for that you will have to show us your degree and pass an interview then sign an NDA

          • 2 weeks ago
            Anonymous

            that's what I thought Black personhomosexual, now go suck your seniors wiener

          • 2 weeks ago
            Anonymous

            so you are jobless and without a degree and nocodeshitter on top of that, got it

          • 2 weeks ago
            Anonymous

            I accept your concession. you may return to this board when you write your own code and let go of others' coattails

          • 2 weeks ago
            Anonymous

            already wrote my own, ${wildcard *.cpp} causes no problems despite having multiple binary targets, what can I say but keep shitting more, nocodeshitter

  16. 2 weeks ago
    Anonymous

    *unstoppable combo*

  17. 2 weeks ago
    Anonymous

    who is more of an insane masochist moving-target cargocultist?

    a webshitter or a cmaker?

  18. 2 weeks ago
    Anonymous

    Hahahahahahahaha How The Frick Are Build Systems Real Hahahaha homie Just Write A Makefile Like homie Compile The Project

  19. 2 weeks ago
    Anonymous

    CMake 3.21+ with Ninja is the best build system in C++ without contest and honsetly I don't see any build system competing with it in the future.

  20. 2 weeks ago
    Anonymous

    [...]

    that's why absolutely noone uses BSD Make, because it's better

  21. 2 weeks ago
    Anonymous

    oh boy, another thread from the deranged sepples Black person obsessed with troons. good content thanks IQfy I can feel my IQ rising

    • 2 weeks ago
      Anonymous

      dilate

  22. 2 weeks ago
    Anonymous

    [...]

    bsdmake is not good, if you've ever actually tried it
    Plan 9 mk is the correct answer

    • 2 weeks ago
      Anonymous

      What's special about Plan 9 mk?

      • 2 weeks ago
        Anonymous

        it's even more irrelevant than BSD make therefore it's better

  23. 2 weeks ago
    Anonymous

    The file format is weird asf though. It's pretty good otherwise but I'd use any alternative that has a better format and is faster.

  24. 2 weeks ago
    Anonymous

    Can CMake be used for Scala, TypeScript, Docker images and Go? Asking for work. We're using Bazel.

    • 2 weeks ago
      Anonymous

      No it can't, meanwhile GNU Make can be used for anything.

  25. 2 weeks ago
    Anonymous

    Build systems are unnecessary. A few lines of shell script are all I need.

Your email address will not be published. Required fields are marked *