mastodon.world is one of the many independent Mastodon servers you can use to participate in the fediverse.
Generic Mastodon server for anyone to use.

Server stats:

9.2K
active users

#cmake

4 posts4 participants0 posts today
Harald<p>An update is available for my pythonbuilder, the core build system written and specified in Python.</p><p><a href="https://codeberg.org/harald/pythonbuilder" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/harald/pythonbuil</span><span class="invisible">der</span></a></p><p>The things to build, previously represented as just strings, are now arbitrary Python objects, which makes it in particular easier to use Python's modern Path in all places where file or directory references are needed.</p><p><a href="https://nrw.social/tags/pythonbuilder" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>pythonbuilder</span></a> <a href="https://nrw.social/tags/buildmachine" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>buildmachine</span></a> <a href="https://nrw.social/tags/bashbuilder" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bashbuilder</span></a> <a href="https://nrw.social/tags/buildsystem" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>buildsystem</span></a> <a href="https://nrw.social/tags/softwaredevelopment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>softwaredevelopment</span></a> <a href="https://nrw.social/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://nrw.social/tags/python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>python</span></a> <a href="https://nrw.social/tags/make" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>make</span></a> <a href="https://nrw.social/tags/gradle" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gradle</span></a> <a href="https://nrw.social/tags/ant" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ant</span></a> <a href="https://nrw.social/tags/blt" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>blt</span></a> <a href="https://nrw.social/tags/cmake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cmake</span></a></p>
David Llewellyn-Jones<p>When using the Sailfish IDE with a CMake project, the option to add files or classes to the project is disabled in the Projects view.</p><p>Does anyone know if there's some way to allow this? It's by no means a dealbreaker, but I've become quite used to using it when working with qmake projects.</p><p>Maybe one for you <span class="h-card" translate="no"><a href="https://linux.social/@vige" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>vige</span></a></span>?</p><p><a href="https://mastodon.social/tags/SailfishOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SailfishOS</span></a> <a href="https://mastodon.social/tags/QtCreator" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>QtCreator</span></a> <a href="https://mastodon.social/tags/SailfishIDE" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SailfishIDE</span></a> <a href="https://mastodon.social/tags/CMake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CMake</span></a></p>
Harald<p>1/2</p><p>My third implementation of the core of a build system: <a href="https://codeberg.org/harald/pythonbuilder" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/harald/pythonbuil</span><span class="invisible">der</span></a></p><p>I contrast build system with script. While a script just runs all the commands according to the code you write, a build system has a means of determining whether a command really has to be run or can be skipped because the input has not changed, so no new output can be expected.</p><p><a href="https://nrw.social/tags/pythonbuilder" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>pythonbuilder</span></a><br><a href="https://nrw.social/tags/buildmachine" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>buildmachine</span></a><br><a href="https://nrw.social/tags/bashbuilder" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bashbuilder</span></a><br><a href="https://nrw.social/tags/buildsystem" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>buildsystem</span></a><br><a href="https://nrw.social/tags/softwaredevelopment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>softwaredevelopment</span></a><br><a href="https://nrw.social/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a><br><a href="https://nrw.social/tags/make" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>make</span></a><br><a href="https://nrw.social/tags/gradle" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gradle</span></a><br><a href="https://nrw.social/tags/ant" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ant</span></a><br><a href="https://nrw.social/tags/blt" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>blt</span></a><br><a href="https://nrw.social/tags/cmake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cmake</span></a></p>
oblate<p>I have a long-standing project which I am converting to use C++ modules. I've decided that using <a href="https://mastodon.social/tags/perl" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>perl</span></a> to generate the Makefile is vastly easier than using <a href="https://mastodon.social/tags/autotools" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>autotools</span></a> and <a href="https://mastodon.social/tags/cmake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cmake</span></a>. </p><p>At least I can understand WTF is going on.</p><p>In the end, programmatical beats automagical.</p>
mgorny-nyan (on) :autism:🙀🚂🐧<p>Najlepsze, co oferuje system budowania <a href="https://pol.social/tags/Meson" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Meson</span></a>, to plik `meson.options`.</p><p>To o wiele lepsze rozwiązanie niż&nbsp;<a href="https://pol.social/tags/CMake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CMake</span></a>, z `option()` i `set(... CACHE ...)`, i `find_packages()`, i kilkoma innymi funkcjami i makrami, rozrzuconymi po setkach plików `CMakeLists.txt`, kilku `*.cmake` i pewnie jeszcze jakichś plikach, których w ogóle bym się nie spodziewał. No i jeszcze kilka przypadkowych zmiennych, których użytkownik w ogóle nie powinien ustawiać, ale musi, bo całość jest zbyt zepsuta.</p>
mgorny-nyan (he) :autism:🙀🚂🐧<p>The best part of <a href="https://social.treehouse.systems/tags/Meson" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Meson</span></a> is `meson.options` file.</p><p>So much better than <a href="https://social.treehouse.systems/tags/CMake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CMake</span></a> and `option()` and `set(... CACHE ...)`, and `find_package()`, and some other functions and macros, split across a hundred `CMakeLists.txt` files, a dozen `*.cmake` files and possibly some other files you don't expect. And then some random variables that aren't meant to be modified by user but you need to set them anyway, because the whole thing is so broken.</p>
Habr<p>Сборка на CMake для новичка</p><p>Сборка проектов на CMake вызывает множество вопросов у новичка. Так как это ударило непосредственно по мне, я решил показать и рассказать о том, как быстро создать универсальные скрипты для сборки на CMake.</p><p><a href="https://habr.com/ru/articles/904992/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/904992/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cmake</span></a> <a href="https://zhub.link/tags/cmake_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cmake_инструкция</span></a> <a href="https://zhub.link/tags/%D0%BD%D0%BE%D0%B2%D0%B8%D1%87%D0%BA%D0%B0%D0%BC" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>новичкам</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>сборка_проекта</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%B8%D0%B7_%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>сборка_из_исходников</span></a></p>
Nowhere!Fast!<p>Now I got a working <a href="https://techhub.social/tags/CMake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CMake</span></a> tools and debugging workflow in <a href="https://techhub.social/tags/neovim" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>neovim</span></a>. It is turning into a really amazing IDE for my <a href="https://techhub.social/tags/vulkan" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>vulkan</span></a> <a href="https://techhub.social/tags/gamedev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gamedev</span></a> efforts on <a href="https://techhub.social/tags/linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linux</span></a>.</p>
oblate<p>Spotted on the interwebs re <a href="https://mastodon.social/tags/cmake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cmake</span></a> :"it’s like a vimscript of build system languages"</p>
Dirk Schnelle-Walka<p>Finally, I managed to resolve my package manager issues with <a href="https://mastodontech.de/tags/termux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>termux</span></a> and started coding under <a href="https://mastodontech.de/tags/android" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>android</span></a> </p><p><a href="https://mastodontech.de/tags/emacs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>emacs</span></a>, <a href="https://mastodontech.de/tags/cmake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cmake</span></a>, and C++ compiler are working. </p><p>Ready for some <a href="https://mastodontech.de/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> exercises while I am on the road.</p>
Harald<p>Improvements to my bash-only build system:</p><p>* All functions provided now consistently have the prefix 'bb', like bbTarget, bbMain etc.<br>* Using bbImport, though, allows to get rid of them again in a build script, if so preferred.<br>* Moves most API documentation to doc comments in the script itself.<br>* So the project now has a build script 😉 called bb, to extract this documentation.</p><p><a href="https://codeberg.org/harald/bashbuilder" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/harald/bashbuilde</span><span class="invisible">r</span></a></p><p><a href="https://nrw.social/tags/bashbuilder" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bashbuilder</span></a><br><a href="https://nrw.social/tags/buildsystem" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>buildsystem</span></a><br><a href="https://nrw.social/tags/softwaredevelopment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>softwaredevelopment</span></a><br><a href="https://nrw.social/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a><br><a href="https://nrw.social/tags/make" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>make</span></a><br><a href="https://nrw.social/tags/gradle" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gradle</span></a><br><a href="https://nrw.social/tags/ant" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ant</span></a><br><a href="https://nrw.social/tags/blt" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>blt</span></a><br><a href="https://nrw.social/tags/cmake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cmake</span></a></p>
Uli Kusterer (Not a kitteh)<p>Anyone have recommendations for literature about using <a href="https://chaos.social/tags/CMake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CMake</span></a> for building mixed C++/Swift code? Also for using CMake on <a href="https://chaos.social/tags/Android" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Android</span></a>?</p><p>Paid eBooks are fine, but please disclose any affiliations you may have.</p>
Gareth Lloyd (He/him)<p>I'm exploring on various ways to structure <a href="https://fosstodon.org/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a> modules in <a href="https://fosstodon.org/tags/cmake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cmake</span></a> </p><p>This is what I currently have been exploring with: <a href="https://godbolt.org/z/e7jcseo43" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">godbolt.org/z/e7jcseo43</span><span class="invisible"></span></a></p><p>If anyone sees any issues/critique please let me know.</p><p><a href="https://fosstodon.org/tags/cplusplus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cplusplus</span></a> <a href="https://fosstodon.org/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a></p>
onion<p>Took some digging to get qtwebengine build to respect "-j1" everywhere.<br><a href="https://mastodon.tal.org/tags/qtdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>qtdev</span></a> <a href="https://mastodon.tal.org/tags/cmake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cmake</span></a> <a href="https://mastodon.tal.org/tags/ninja" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ninja</span></a></p>
Rie<p>Ahh I don't understand CMake... for some reason "--config Release/Debug" has no effect when running the build command. The only way I can choose the build type is with</p><p>set(CMAKE_BUILD_TYPE Debug)</p><p>in CMakeLists.txt. I'm running it from the command line, no Visual Studio etc involved. My internet searches are failing me, what am I missing?</p><p>Edit: Ah I think the solution may be to add `-G "Ninja Multi-Config"` during the configure step, giving that a try!</p><p><a href="https://mastodon.gamedev.place/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> <a href="https://mastodon.gamedev.place/tags/cmake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cmake</span></a></p>
GateLinker<p><a href="https://fosstodon.org/tags/cmake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cmake</span></a> v4.0 puts pressure on c and <a href="https://fosstodon.org/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> projects.<br>There are a lot of projects with a minimum-requirement below 3.10,<br>which is rejected by the new version.</p><p>I failed to build my <a href="https://fosstodon.org/tags/conan" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>conan</span></a> dependencies and already needed to downgrade to v3.31 where `&lt; 3.10` is only a deprecation warning. (3.26 is best -&gt; no deprecation warnings)</p><p><a href="https://fosstodon.org/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> could be so much fun without these ongoing annoying dependency updates. 😩</p>
Harald<p>Improvements to my bash-only build system:</p><p>* Adds (environment) variables as dependencies/targets on par with files and directories.<br>* Changes call direction from bashbuilder-&gt;buildscript to the reverse. Now bashbuilder is "merely" a library, instead of requiring to be 'main'.<br>* Adds generated file lists as dependencies/targets.</p><p><a href="https://codeberg.org/harald/bashbuilder" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/harald/bashbuilde</span><span class="invisible">r</span></a></p><p><a href="https://nrw.social/tags/bashbuilder" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bashbuilder</span></a><br><a href="https://nrw.social/tags/buildsystem" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>buildsystem</span></a><br><a href="https://nrw.social/tags/softwaredevelopment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>softwaredevelopment</span></a><br><a href="https://nrw.social/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a><br><a href="https://nrw.social/tags/make" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>make</span></a><br><a href="https://nrw.social/tags/gradle" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gradle</span></a><br><a href="https://nrw.social/tags/ant" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ant</span></a><br><a href="https://nrw.social/tags/blt" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>blt</span></a><br><a href="https://nrw.social/tags/cmake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cmake</span></a></p>
Ben S.<p>I'm trying to use two GitHub library projects as dependencies.</p><p>One of them doesn't define a <a href="https://mastodon.sdf.org/tags/CMake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CMake</span></a> project, so I was pulling it in as a git submodule (blah).</p><p>The second defines a CMake project, but also install goop, so the library was barfing into my application's install tree (blah).</p><p>I'm at the point of forking them both to control what they do, and then using FetchContent instead of submodules to pull them into my build tree (blah).</p>
Ben S.<p>I like <a href="https://mastodon.sdf.org/tags/CMake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CMake</span></a> but I don't love it. It's too hard to thread the needle for different use cases of a library, for example:</p><p>No install directives? Now nobody can use your stuff, except by including it in their own build trees.</p><p>Defined install directives but are not shipping a package anywhere? Now nobody can use your stuff, unless they want to accidentally redeploy it into their own install trees.</p><p>Also the install stuff is super goopy and unintuitive, with tons of conflicting examples.</p>
Ben S.<p>I don't understand why, but support for the "Ninja Multi-Config" generator keeps coming and going from various <a href="https://mastodon.sdf.org/tags/CMake" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CMake</span></a> releases for different environments.</p><p>I should probably just try to ditch it anyway, as I'm not really taking advantage of it anyway. The whole "defer thinking about build flavor until the build stage" concept in CMake feels really tacked-on, resulting in an ugly mess.</p>