CMake vs Make - A developer's perspective

  Рет қаралды 4,025

Kea Sigma Delta

Kea Sigma Delta

7 ай бұрын

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 4 ай бұрын
Great Video! Can you also make a video on CMake explaining what toolchains are?
@KeaSigmaDelta
@KeaSigmaDelta 4 ай бұрын
Thanks. I'll think about doing a toolchains video...
@KeaSigmaDelta
@KeaSigmaDelta 3 ай бұрын
Here you go: kzfaq.info/get/bejne/b9ynY8yAm9vbhZ8.html
@default2043
@default2043 3 ай бұрын
Love it@@KeaSigmaDelta
@KeaSigmaDelta
@KeaSigmaDelta 3 ай бұрын
@@default2043 Great!
@thejking
@thejking 3 ай бұрын
Thank you so much for this short but thorough explanation! 👍
@KeaSigmaDelta
@KeaSigmaDelta 3 ай бұрын
You're welcome.
@VanosTurbo
@VanosTurbo 7 ай бұрын
Great explanation!
@KeaSigmaDelta
@KeaSigmaDelta 7 ай бұрын
Glad it was helpful.
@yusaza5830
@yusaza5830 6 ай бұрын
Thanks man
@KeaSigmaDelta
@KeaSigmaDelta 6 ай бұрын
You're welcome.
@committedcoder3352
@committedcoder3352 3 ай бұрын
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 3 ай бұрын
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 2 ай бұрын
Just something wrong with one compiler?
@KeaSigmaDelta
@KeaSigmaDelta 2 ай бұрын
Not sure what you're asking. The best compiler to use depends on each platform (e.g., Visual Studio on Windows).
@rasheedatanda9927
@rasheedatanda9927 3 ай бұрын
man looks like the smaller version of luis van gaal 😅
@KeaSigmaDelta
@KeaSigmaDelta 3 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
@@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
Рет қаралды 501
1❤️
00:17
Nonomen ノノメン
Рет қаралды 12 МЛН
터키아이스크림🇹🇷🍦Turkish ice cream #funny #shorts
00:26
Byungari 병아리언니
Рет қаралды 29 МЛН
Jonathan Blow on Refactoring
7:10
Anton Swifton
Рет қаралды 125 М.
you need to stop using print debugging (do THIS instead)
7:07
Low Level Learning
Рет қаралды 413 М.
Why I Cant Stand IDE's After Using VIM | Prime Reacts
17:51
ThePrimeTime
Рет қаралды 271 М.
Don't Model the Problem
14:32
David Hart
Рет қаралды 12 М.
CMake, How it Works (At Three Different Levels)
4:36
Kea Sigma Delta
Рет қаралды 9 М.
How I learned to love build systems
16:31
fasterthanlime
Рет қаралды 130 М.
Software Development with C++: make clean and Phony Targets
8:01
CoffeeBeforeArch
Рет қаралды 1,2 М.
How C++ took a turn for the worse
5:03
Code Persist
Рет қаралды 259 М.
REAL ENGINEER tries Fusion 360 for the first time
12:58
Major Hardware
Рет қаралды 411 М.
You NEED to Contribute to Open Source
11:21
Chris Titus Tech
Рет қаралды 21 М.
Choose a phone for your mom
0:20
ChooseGift
Рет қаралды 4,6 МЛН
Best mobile of all time💥🗿 [Troll Face]
0:24
Special SHNTY 2.0
Рет қаралды 2,2 МЛН
Simple maintenance. #leddisplay #ledscreen #ledwall #ledmodule #ledinstallation
0:19
LED Screen Factory-EagerLED
Рет қаралды 19 МЛН
После ввода кода - протирайте панель
0:18
Up Your Brains
Рет қаралды 1 МЛН
GamePad İle Bisiklet Yönetmek #shorts
0:26
Osman Kabadayı
Рет қаралды 364 М.