CMake vs Make - A developer's perspective

  Рет қаралды 3,800

Kea Sigma Delta

Kea Sigma Delta

6 ай бұрын

What's the difference between CMake and GNU Make? And why would we choose one over the other? Let's go beyond the surface level difference such as CMake being a "meta-build system," and look at what it's actually like to use them...
Click the following link for The CMake Tutorial:
cmaketutorial.com/
Click here for a summary of the video:
keasigmadelta.com/blog/cmake-...
#programming #tech #softwaredevelopment #cmake #cpp

Пікірлер: 27
@default2043
@default2043 3 ай бұрын
Great Video! Can you also make a video on CMake explaining what toolchains are?
@KeaSigmaDelta
@KeaSigmaDelta 3 ай бұрын
Thanks. I'll think about doing a toolchains video...
@KeaSigmaDelta
@KeaSigmaDelta 3 ай бұрын
Here you go: kzbin.info/www/bejne/b6faYZyFa9qqi80
@default2043
@default2043 3 ай бұрын
Love it@@KeaSigmaDelta
@KeaSigmaDelta
@KeaSigmaDelta 3 ай бұрын
@@default2043 Great!
@thejking
@thejking 2 ай бұрын
Thank you so much for this short but thorough explanation! 👍
@KeaSigmaDelta
@KeaSigmaDelta 2 ай бұрын
You're welcome.
@VanosTurbo
@VanosTurbo 6 ай бұрын
Great explanation!
@KeaSigmaDelta
@KeaSigmaDelta 6 ай бұрын
Glad it was helpful.
@yusaza5830
@yusaza5830 5 ай бұрын
Thanks man
@KeaSigmaDelta
@KeaSigmaDelta 5 ай бұрын
You're welcome.
@committedcoder3352
@committedcoder3352 2 ай бұрын
I started with Make and enjoy it (sounds masochistic now that I say it aloud), but I should probably learn how to use at least the basics of CMake to get it into my repertoire, it's fairly common and I tend to just skirt around it when I come across it lol.
@KeaSigmaDelta
@KeaSigmaDelta 2 ай бұрын
Sounds like you're where I was a number of years ago. I had figured out how to get make to do most of what I wanted. I would manually adapt projects that use CMake to use Make instead... until that was too much of a pain.
@AnotherCG
@AnotherCG Ай бұрын
Just something wrong with one compiler?
@KeaSigmaDelta
@KeaSigmaDelta Ай бұрын
Not sure what you're asking. The best compiler to use depends on each platform (e.g., Visual Studio on Windows).
@rasheedatanda9927
@rasheedatanda9927 2 ай бұрын
man looks like the smaller version of luis van gaal 😅
@KeaSigmaDelta
@KeaSigmaDelta 2 ай бұрын
Heh. Well, he's from the Netherlands, just like my parents...
@llothar68
@llothar68 3 ай бұрын
I had to go back from make to individual builds for each platform. Cmake is just bad. Still use it on Linux but I want to go away too because you can’t share compiled files between multiple targets unless you end up with lots of object libraries. And modern winapp sdk forces msbuild anyway
@KeaSigmaDelta
@KeaSigmaDelta 3 ай бұрын
Interesting. That's not a problem that I've encountered.
@tobyfrancisv
@tobyfrancisv Ай бұрын
Fairly common problem for industrial usage of C++! CMake helps DevOps teams interact with the build toolchain more easily, but the control that Make provides can lead to more efficient builds in large projects, so seasoned developers tend to favor Make. I want to try CMake with Ninja, though, since that is aimed at helping with this issue. Could you do a video about CMake using Ninja?
@KeaSigmaDelta
@KeaSigmaDelta Ай бұрын
@@tobyfrancisv I haven't tried using CMake with Ninja yet. Are you saying that Ninja with CMake could lead to faster builds than using the native build system (e.g., Make)?
@wjrasmussen666
@wjrasmussen666 Ай бұрын
Make was going crossplatform going back decades.
@KeaSigmaDelta
@KeaSigmaDelta Ай бұрын
You can use it on multiple platforms, including Windows. However, it's normally only used with GCC. I personally wouldn't use GNU Make with anything other than GCC.
@wjrasmussen666
@wjrasmussen666 Ай бұрын
@@KeaSigmaDelta We used it in 94 at a company that had 16 flavors of UNIX. You make is sound like nobody did it. I think that is wrong. I know you have to say stuff to make a point and sell cmake.
@KeaSigmaDelta
@KeaSigmaDelta Ай бұрын
​@@wjrasmussen666 At no point did I suggest that nobody did it. I've personally used GNU Make on multiple platforms, including Windows. You're welcome to disagree with me. But, insinuating that I'm saying "stuff to make a point and sell cmake" is both overly cynical and rather insulting.
@wjrasmussen666
@wjrasmussen666 Ай бұрын
@@KeaSigmaDelta No you didn't but you did the left handed version of it. cmake does it.
@KeaSigmaDelta
@KeaSigmaDelta Ай бұрын
@@wjrasmussen666 No, but believe whatever you want.
Getting Started With C++ on Linux: Setting up GCC, CMake & VS Code
5:20
CMake vs Make - a real life comparison (with actual code)
12:16
Kea Sigma Delta
Рет қаралды 346
small vs big hoop #tiktok
00:12
Анастасия Тарасова
Рет қаралды 12 МЛН
1❤️#thankyou #shorts
00:21
あみか部
Рет қаралды 88 МЛН
World’s Deadliest Obstacle Course!
28:25
MrBeast
Рет қаралды 110 МЛН
Final muy inesperado 🥹
00:48
Juan De Dios Pantoja
Рет қаралды 18 МЛН
CMake - the essential package
27:54
Code for yourself
Рет қаралды 8 М.
Java 21 Is Good?! | Prime Reacts
27:08
ThePrimeTime
Рет қаралды 215 М.
Svelte 5 Is A Triumph
22:04
Joy of Code
Рет қаралды 58 М.
Hacking a C compiler #1: Open a source file
30:58
Sandcurves
Рет қаралды 1,3 М.
why do header files even exist?
10:53
Low Level Learning
Рет қаралды 367 М.
ALL IT TAKES... A Vulkan Story
29:10
The Cherno
Рет қаралды 126 М.
How all C/C++ build Systems Work (Except for CMake and Premake)
4:53
Kea Sigma Delta
Рет қаралды 9 М.
Why that "Perfect" Makefile Doesn't Work.
7:14
Jacob Sorber
Рет қаралды 45 М.
Gizli Apple Watch Özelliği😱
0:14
Safak Novruz
Рет қаралды 2,9 МЛН
i like you subscriber ♥️♥️ #trending #iphone #apple #iphonefold
0:14
Нашел еще 70+ нововведений в iOS 18!
11:04
После ввода кода - протирайте панель
0:18