<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[current status: writing a build system in cmake]]></title><description><![CDATA[<p>current status: writing a build system in cmake</p><p>not "something that builds a project and is also implemented in implemented in cmake"</p><p>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)"</p>]]></description><link>https://board.circlewithadot.net/topic/1722cdf7-3a65-448e-b416-171a78de4e78/current-status-writing-a-build-system-in-cmake</link><generator>RSS for Node</generator><lastBuildDate>Fri, 15 May 2026 02:46:40 GMT</lastBuildDate><atom:link href="https://board.circlewithadot.net/topic/1722cdf7-3a65-448e-b416-171a78de4e78.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 May 2026 19:55:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to current status: writing a build system in cmake on Tue, 12 May 2026 07:05:49 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems" rel="nofollow noopener">@<span>whitequark</span></a></span> </p><p>What happens if we remove all the abstractions? That will make everything simpler!</p>]]></description><link>https://board.circlewithadot.net/post/https://infosec.exchange/users/david_chisnall/statuses/116560334013769451</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://infosec.exchange/users/david_chisnall/statuses/116560334013769451</guid><dc:creator><![CDATA[david_chisnall@infosec.exchange]]></dc:creator><pubDate>Tue, 12 May 2026 07:05:49 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Tue, 12 May 2026 01:03:47 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> <br />Having called out to tsort from a GNUmakefile to order library builds, I'm taking emotional damage from this thread.</p>]]></description><link>https://board.circlewithadot.net/post/https://bsd.network/users/guenther/statuses/116558910403195832</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://bsd.network/users/guenther/statuses/116558910403195832</guid><dc:creator><![CDATA[guenther@bsd.network]]></dc:creator><pubDate>Tue, 12 May 2026 01:03:47 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Tue, 12 May 2026 01:00:00 GMT]]></title><description><![CDATA[<p><span><a href="/user/asmw%40infosec.exchange">@<span>asmw</span></a></span> <span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> to some extent, cmake is a natural consequence of the fact that every platform is almost actively hostile to the idea that 3rd party developers also target other platforms</p>]]></description><link>https://board.circlewithadot.net/post/https://mastodon.social/users/JamesWidman/statuses/116558895517958839</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://mastodon.social/users/JamesWidman/statuses/116558895517958839</guid><dc:creator><![CDATA[jameswidman@mastodon.social]]></dc:creator><pubDate>Tue, 12 May 2026 01:00:00 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Tue, 12 May 2026 00:08:02 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> someone wrote a raytracer and PNG encoder in CMake sooo</p>]]></description><link>https://board.circlewithadot.net/post/https://social.treehouse.systems/users/nicolas17/statuses/116558691209957042</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://social.treehouse.systems/users/nicolas17/statuses/116558691209957042</guid><dc:creator><![CDATA[nicolas17@social.treehouse.systems]]></dc:creator><pubDate>Tue, 12 May 2026 00:08:02 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 23:30:19 GMT]]></title><description><![CDATA[<p><span><a href="/user/pikhq%40social.treehouse.systems">@<span>pikhq</span></a></span> <span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> there are a lot of people for whom build systems are just not on their radar. I don’t understand them in the least, but I have definitely observed them in action.</p>]]></description><link>https://board.circlewithadot.net/post/https://hachyderm.io/users/c0dec0dec0de/statuses/116558542873032533</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://hachyderm.io/users/c0dec0dec0de/statuses/116558542873032533</guid><dc:creator><![CDATA[c0dec0dec0de@hachyderm.io]]></dc:creator><pubDate>Mon, 11 May 2026 23:30:19 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 23:24:16 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> I have described the Linux kernel's build system as "a build system implemented in GNU make," so, seems normal.</p>]]></description><link>https://board.circlewithadot.net/post/https://mastodon.social/users/nelhage/statuses/116558519127687246</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://mastodon.social/users/nelhage/statuses/116558519127687246</guid><dc:creator><![CDATA[nelhage@mastodon.social]]></dc:creator><pubDate>Mon, 11 May 2026 23:24:16 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 23:18:10 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> self-awareness is not always online</p>]]></description><link>https://board.circlewithadot.net/post/https://hachyderm.io/users/c0dec0dec0de/statuses/116558495101991240</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://hachyderm.io/users/c0dec0dec0de/statuses/116558495101991240</guid><dc:creator><![CDATA[c0dec0dec0de@hachyderm.io]]></dc:creator><pubDate>Mon, 11 May 2026 23:18:10 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 23:14:04 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> I mean very minimal. Like it fetched the bits I needed. “God, why are these binary files just a sha hash? Oh, and there are files over here with those hashes as names, fine, let’s do this.”</p>]]></description><link>https://board.circlewithadot.net/post/https://hachyderm.io/users/c0dec0dec0de/statuses/116558479023644538</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://hachyderm.io/users/c0dec0dec0de/statuses/116558479023644538</guid><dc:creator><![CDATA[c0dec0dec0de@hachyderm.io]]></dc:creator><pubDate>Mon, 11 May 2026 23:14:04 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 23:10:01 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> ah, the fingerprints of an engineer who is very capable, but doesn’t bother to read the docs or think about alternatives…<br />I’ve reimplemented a git LFS client without knowing that’s what I was doing.</p>]]></description><link>https://board.circlewithadot.net/post/https://hachyderm.io/users/c0dec0dec0de/statuses/116558463052299421</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://hachyderm.io/users/c0dec0dec0de/statuses/116558463052299421</guid><dc:creator><![CDATA[c0dec0dec0de@hachyderm.io]]></dc:creator><pubDate>Mon, 11 May 2026 23:10:01 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 21:48:15 GMT]]></title><description><![CDATA[<p><span><a href="/user/arcterus%40wafrn.vaguely.art" rel="nofollow noopener">@<span>arcterus</span></a></span> <span><a href="/user/aismallard%40woem.space" rel="nofollow noopener">@<span>aismallard</span></a></span> aaa</p>]]></description><link>https://board.circlewithadot.net/post/https://social.treehouse.systems/users/whitequark/statuses/116558141560054838</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://social.treehouse.systems/users/whitequark/statuses/116558141560054838</guid><dc:creator><![CDATA[whitequark@social.treehouse.systems]]></dc:creator><pubDate>Mon, 11 May 2026 21:48:15 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 21:48:07 GMT]]></title><description><![CDATA[<p><span><a href="/user/recursive%40hachyderm.io" rel="nofollow noopener">@<span>recursive</span></a></span> ninja files are basically what makefiles should have been, easily parsable, mostly declarative dependency graph descriptions without the bewildering mass of features that accumulates if you also try to shoehorn an UI into it</p>]]></description><link>https://board.circlewithadot.net/post/https://social.treehouse.systems/users/whitequark/statuses/116558141059317835</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://social.treehouse.systems/users/whitequark/statuses/116558141059317835</guid><dc:creator><![CDATA[whitequark@social.treehouse.systems]]></dc:creator><pubDate>Mon, 11 May 2026 21:48:07 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 21:47:11 GMT]]></title><description><![CDATA[<p><span><a href="/user/aismallard%40woem.space" rel="nofollow noopener">@<span>aismallard@woem.space</span></a></span> <span><a href="/user/whitequark%40social.treehouse.systems" rel="nofollow noopener">@<span>whitequark@social.treehouse.systems</span></a></span></p><p>cmake with classes</p>]]></description><link>https://board.circlewithadot.net/post/https://wafrn.vaguely.art/fediverse/post/e538c8aa-e192-4edf-af31-12e0b42928ce</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://wafrn.vaguely.art/fediverse/post/e538c8aa-e192-4edf-af31-12e0b42928ce</guid><dc:creator><![CDATA[arcterus@wafrn.vaguely.art]]></dc:creator><pubDate>Mon, 11 May 2026 21:47:11 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 21:46:59 GMT]]></title><description><![CDATA[<p><span><a href="/user/recursive%40hachyderm.io" rel="nofollow noopener">@<span>recursive</span></a></span> oh yeah ninja is excellent. not just the software but the specification, which is one of the few emergent ones that are just good somehow</p>]]></description><link>https://board.circlewithadot.net/post/https://social.treehouse.systems/users/whitequark/statuses/116558136593082233</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://social.treehouse.systems/users/whitequark/statuses/116558136593082233</guid><dc:creator><![CDATA[whitequark@social.treehouse.systems]]></dc:creator><pubDate>Mon, 11 May 2026 21:46:59 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 21:46:32 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> coworkers of mine several years ago changed our forked 'premake' (some lua thing) from generating makefiles to ninja files, and it seemed like a decent thing to target with automatic generation</p>]]></description><link>https://board.circlewithadot.net/post/https://hachyderm.io/users/recursive/statuses/116558134777925944</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://hachyderm.io/users/recursive/statuses/116558134777925944</guid><dc:creator><![CDATA[recursive@hachyderm.io]]></dc:creator><pubDate>Mon, 11 May 2026 21:46:32 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 21:44:06 GMT]]></title><description><![CDATA[<p><span><a href="/user/recursive%40hachyderm.io" rel="nofollow noopener">@<span>recursive</span></a></span> my solution to this was to use kati, google's make with a ninja backend</p><p><u>technically</u> this probably caused some sort of staleness somewhere in the system but it was so much faster when i needed rapid iteration that it was totally worth it</p>]]></description><link>https://board.circlewithadot.net/post/https://social.treehouse.systems/users/whitequark/statuses/116558125227637739</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://social.treehouse.systems/users/whitequark/statuses/116558125227637739</guid><dc:creator><![CDATA[whitequark@social.treehouse.systems]]></dc:creator><pubDate>Mon, 11 May 2026 21:44:06 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 21:24:34 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> The culture of "it's nearly free to fork and exec" is wild. Got us autoconf too, I guess</p>]]></description><link>https://board.circlewithadot.net/post/https://hachyderm.io/users/recursive/statuses/116558048438788659</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://hachyderm.io/users/recursive/statuses/116558048438788659</guid><dc:creator><![CDATA[recursive@hachyderm.io]]></dc:creator><pubDate>Mon, 11 May 2026 21:24:34 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 21:18:11 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> a load bearing WHAT again?!</p>]]></description><link>https://board.circlewithadot.net/post/https://social.tchncs.de/users/ppxl/statuses/116558023328515537</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://social.tchncs.de/users/ppxl/statuses/116558023328515537</guid><dc:creator><![CDATA[ppxl@social.tchncs.de]]></dc:creator><pubDate>Mon, 11 May 2026 21:18:11 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 21:09:25 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/whitequark%40social.treehouse.systems" aria-label="Profile: whitequark@social.treehouse.systems">@<bdi>whitequark@social.treehouse.systems</bdi></a> c²make</p>
]]></description><link>https://board.circlewithadot.net/post/https://woem.space/objects/91587291-baee-4eb7-814c-66c99ce5e3f1</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://woem.space/objects/91587291-baee-4eb7-814c-66c99ce5e3f1</guid><dc:creator><![CDATA[aismallard@woem.space]]></dc:creator><pubDate>Mon, 11 May 2026 21:09:25 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 20:43:37 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> I like Shake because it's very good about using the ability of Haskell to create ad-hoc declarative DSLs to give an user a very declarative toolkit while having an escape hatch *right there*. But I have used little of the alternatives either, I rarely have to fiddle around in the bowels of complex build processes and I'm very glad about that.</p>]]></description><link>https://board.circlewithadot.net/post/https://mastodon.chaosfield.at/users/dequbed/statuses/116557887434419530</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://mastodon.chaosfield.at/users/dequbed/statuses/116557887434419530</guid><dc:creator><![CDATA[dequbed@mastodon.chaosfield.at]]></dc:creator><pubDate>Mon, 11 May 2026 20:43:37 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 20:39:39 GMT]]></title><description><![CDATA[<p><span><a href="/user/dequbed%40mastodon.chaosfield.at" rel="nofollow noopener">@<span>dequbed</span></a></span> I haven't used shake but I did use ocamlbuild and the other thing I forget the name of, and it was somewhat preferable to some of the makefiles</p><p>dune (a declarative ocaml build system) is way better though</p>]]></description><link>https://board.circlewithadot.net/post/https://social.treehouse.systems/users/whitequark/statuses/116557871785502909</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://social.treehouse.systems/users/whitequark/statuses/116557871785502909</guid><dc:creator><![CDATA[whitequark@social.treehouse.systems]]></dc:creator><pubDate>Mon, 11 May 2026 20:39:39 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 20:32:36 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> oh lmao I think I know what you're talking about, and I think I touched that rot13 monstrosity at one point</p>]]></description><link>https://board.circlewithadot.net/post/https://chaosfurs.social/users/lambda/statuses/116557844098430532</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://chaosfurs.social/users/lambda/statuses/116557844098430532</guid><dc:creator><![CDATA[lambda@chaosfurs.social]]></dc:creator><pubDate>Mon, 11 May 2026 20:32:36 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 20:31:26 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems">@<span>whitequark</span></a></span> This is why I really enjoy the sentiment behind shake. Because sometimes when it comes to build systems the “simplest” solution means giving the developer access to all of Haskell and telling her to go nuts <img src="https://board.circlewithadot.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f604.png?v=28325c671da" class="not-responsive emoji emoji-android emoji--smile" style="height:23px;width:auto;vertical-align:middle" title=":D" alt="😄" /></p><p>(Not saying shake is a good general solution for build systems. It very much isn't. But it beats the bundle of legacy makefiles that could legally drink in most of europe 9 times of 10)</p>]]></description><link>https://board.circlewithadot.net/post/https://mastodon.chaosfield.at/users/dequbed/statuses/116557839480226617</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://mastodon.chaosfield.at/users/dequbed/statuses/116557839480226617</guid><dc:creator><![CDATA[dequbed@mastodon.chaosfield.at]]></dc:creator><pubDate>Mon, 11 May 2026 20:31:26 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 20:27:33 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems" rel="nofollow noreferrer noopener">@<span>whitequark</span></a></span> the lua interpreter, for example, 450 lines of Makefile. and that's plenty enough to cross compile, build on a wide array of OSes, and even target microcontrollers like on my Nintendo DS. Good example of a simple project with a simple Makefile<br /><br />xD</p>]]></description><link>https://board.circlewithadot.net/post/https://with.iridium.ink/users/artemis/statuses/01KRCBJF2V1A9Z5R633NYXA0K6</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://with.iridium.ink/users/artemis/statuses/01KRCBJF2V1A9Z5R633NYXA0K6</guid><dc:creator><![CDATA[artemis@with.iridium.ink]]></dc:creator><pubDate>Mon, 11 May 2026 20:27:33 GMT</pubDate></item><item><title><![CDATA[Reply to current status: writing a build system in cmake on Mon, 11 May 2026 20:24:13 GMT]]></title><description><![CDATA[<p><span><a href="/user/whitequark%40social.treehouse.systems" rel="nofollow noreferrer noopener">@<span>whitequark</span></a></span> or i suppose a more accurate way of looking at it, is it seems the Makefile complexity scales with project complexity, and if it is not doing that then there is probably something fragile about it you're not seeing</p>]]></description><link>https://board.circlewithadot.net/post/https://with.iridium.ink/users/artemis/statuses/01KRCBCC71WKDEACHVHQ3NH68K</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://with.iridium.ink/users/artemis/statuses/01KRCBCC71WKDEACHVHQ3NH68K</guid><dc:creator><![CDATA[artemis@with.iridium.ink]]></dc:creator><pubDate>Mon, 11 May 2026 20:24:13 GMT</pubDate></item></channel></rss>