CMake, How it Works (At Three Different Levels)

preview_player
Показать описание

You've heard about CMake, and want to know how it works? Great! In this video Hans explains how it works at three different levels: the basics, internally, and in practise.

Click the following link for a summary:

Other useful resources:

Connect with us:

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.
Рекомендации по теме
Комментарии
Автор

Blooper alert: I said CLion (and even showed the CLion logo), when I meant to say CLang.

CLion is an Integrated Development Environment (IDE), whereas CLang is a compiler toolchain (based on LLVM).

KeaSigmaDelta
Автор

This channel is severely underrated. Would love a vid where you explained the entire process from a C source file to the final executable including terms like toolchain, Cmake and so on

thepopeofhell
Автор

Small note. I would not speak in terms of "Visual Studio", which is the mostly name of the IDE, but the compiler name is actually specifically Visual C++, even though it can build both C and C++ code. Hence the abbreviation MSVC.

jongeduard
Автор

TIL its technically possible to explain CMake in a reasonably layman-understandable manner...impressive work

I can forsee a potential series of videos on other compilers, compiler toolchains and build systems like ninja, yarn etc etc

uuu
Автор

I've been using it kinda unknowingly for years!! And this video really helped me understand it on a simple level. Recommending this to all my juniors definitely! Amazing.

adityavardhanjain
Автор

I loved the video, very simple and straightforward, no shenanigans of extra info and I like that

I would be interested in a similar style video explaining the compilation process from having a source file to an actual binary executable (or library), with all the magic of linkers and preprocessing in between

and maybe a video about how compiled binaries are laid in memory? (This stems from me reading about the -fpic flag)

Great video, keep up the amazing content!

spounka
Автор

I love this channel, it's very helpful for me. I'm using CMake with CLion and MSVC compiler (best support for a new features, like C++ named modules, I was using clang before)

FoXcodeZ
Автор

Thanks, have never worked with build systems like c make, but will definitely check.

humanvv
Автор

Hey, I see you answer questions in comments so I have to ask too.
Let’s say there are assets that have to be packaged together with the binary. How would you install them with CMake, and how would you access these assets (relative/absolute paths) from the binary?

UsatiyNyan
Автор

This is very valuable, thank you! Do you have any experience on using SFML? If so could you possibly making a video on setting up a C++ project with SFML. Thank you!

eddys
Автор

Great video! One aspect of CMake that I find challenging is the `find_package()` command. While it seems convenient at first glance, it often presents several frustrating issues. A common problem I encounter is when I install or download a third-party library and place it in a non-standard location.

Each library tends to have its own method for handling this situation, sometimes requiring manual configuration of custom variables for the new location. I'm curious if there's a simpler or more universal approach to address this, perhaps through a single variable that can manage it all.

default
Автор

What is the difference between cmake and make, and is there any practical difference?

krzysztofdymanowski
Автор

I don't need to see the video to tell that this guy knows.

alejandroioio
Автор

Why don't game studios use it to port their games to Linux?

LostInThoughtsAllAlone
Автор

He didn't mention BSD!! 😭 And maybe some other obscure oses

bookle
Автор

I like the way that CMake works, but I don't like the scripting language. The language should be C and C++, and run before building. Also, the way that the types work (almost everything is a string, even lists) is difficult to use. Literal forms should exist for all types, and typing shouldn't be dynamic; you're compiling C and C++. I swiched to Rust, which uses Cargo, which I find much better.

jaysistar
Автор

I found CMake to be an absolute nightmare. Awful. I've spent many days struggling with CMake while trying to open source projects to build.

toby
Автор

I hate CMake, but needless to say it is a necessary evil.

rretro