June 27, 2026 | tags: tech, cmake, qt, zed, -- (permalink)
CMake, which makes setting up things way easier than I was expecting
I got back at toying with QT6 because I want to get back in writing linux desktop software
iof only web or cloud things. I won't go into the issues with cloud and web programming nowadays
and the GenIA/LLMs slop, but lets just say that I am a old fashioned hipster with everything in my
life.
Zed editor for instance has this support for agents, so at least I have set up a local model just to play with it a bit. But I don't use it much. So, for all purposes, let's say I prefer do more handcraft software development. Zed is pretty much like VSCode with a leaner interface and more custom way of configuring its behavior, which for me feels like more the kind of stuff that I like. Also its environment feels better than VSCode. So I've trying to use it for all my writing uses, including writing this blog post.
And because of this obsession in understanding these minor things, I get really pissed of with QtCreator. I obviously like the amount of heavy lifting it does for GUI work, and maybe because I always been a backend programmer, I can't handle the amount of stuff I need to do to start understanding of what does behind the curtains. So I took some time, read a bit of Qt documentation, AND Cmake documentation, and setup a small tutorial I've been doing in QtCreator with Cmake directly. It was easier than I expected.
The project structure is pretty much like
+- project-dir
+- build
+- src
+- CMakeLists.txt # properly setup, obviously
+- mainwindow.cpp
+- mainwindow.hpp
+- mainwindow.ui
+- otherSourcesEtc/
+- ...
The cmake build option that made it easy was the -G one, where you set which buildsystem you want to
set. Since I'm on linux the default is the "Unix Makefiles" option, so it was as straightforward:
$ cmake -G "Unix Makefiles" -B build -S src
than a Makefile was generated into the build dir with all necessary commands for using make commands and building
with it:
$ cd build/
$ make all
$ ./ProjectName
and I have my silly tutorial up and running using zed. Lets just say I'll probably
do more happy hacking in this lovely editor :)
