CMake vs Make - A Real Life Comparison (With Actual Code)
Вставка
- Опубліковано 12 вер 2024
- Get the example/template code in the Kea Campus (Creator tier or higher):
keasigmadelta....
NOTE: The makefiles that create build directories have been updated so they also work from the Windows console.
What are CMake & Make like to use? And which one should you choose? To help you decide, Hans has pitted them head to head with real code. Watch, as he builds the same code using both build systems, and endeavours to make both do the same thing...
Click the following link for a summary:
keasigmadelta....
Other useful resources:
- Learn CMake: cmaketutorial....
- Learn OpenGL ES 3 + SDL2: keasigmadelta....
- More made by us: keasigmadelta....
- Support inquiries: keasigmadelta....
Connect with us:
- / keasigmadelta
- / keasigmadelta
- t.me/keasigmad... (Telegram)
- keasigmadelta....
QUESTION - What would you like us to make next, on this channel? Comment below...
About
At Kea Sigma Delta we enjoy creating awesome stuff using software & electronics, and helping others to do the same.
Thanks, very helpful. I'm new to this area and have been concentrating on learning CMake, but want to know more about how the (non-meta) build systems work as well. Looking forward to other comparisons.
They always say one needs to see something worse to start to appreciate what they have. Make seems really difficult and cryptic. Can you please make a video and talk about what generator expressions are and if we can use them for both single generator systems and multi-generator systems as well?
I can consider making a video about generator expressions. They can be used for both single and multi-config generators.
I don't particularly like generator expressions, because they're harder to reason about than the basic build script. They don't work with if/else, because the value in the generator only exists at generation time.
@@KeaSigmaDelta I can totally understand that, but it does seem like they work better for environments such as Visual Studio and others that are multi-config and I have no choice but to learn about them. Really frustrating.
@@default2043 Yes, they're unavoidable for multi-config generators with anything that is different on a per-config basis.
cmake looks less complcated than makefile, but as I use amigaos4 to buildmy little amigaos4 stuff I'm used to makefile, but maybe for laarge projects it can be a PITA.
Sadly, AmigaOS 4's CMake port is rather old, so it's not usable for newer CMake scripts.
GNU Make is more complicated, but once you've got a good template, then you can usually get it up and running relatively quickly. I have no trouble using it for large projects, because adding an extra source file to an existing makefile is very easy.
Thanks, this is been really useful :)
what do you think of meson?
I've heard good things about meson, but haven't had a chance to try it out yet. That will be coming in a future video...