Better CMake Part 3 -- The Basics of Targets

  Рет қаралды 19,068

Jefferson Amstutz

Jefferson Amstutz

Күн бұрын

Topic time stamps:
0:00 - Intro
0:08 - Motivation
1:13 - add_executable()
2:07 - add_library()
2:41 - Omitting library type
3:06 - MODULE libraries
3:35 - ALIAS libraries
3:54 - IMPORTED libraries
4:36 - INTERFACE libraries
5:08 - OBJECT libraries
6:08 - Talking through a real project
7:59 - Link targets, not files!
9:29 - INTERFACE library example
10:28 - Property visibility
13:33 - Why only use target properties?
15:05 - Header-only libraries
15:43 - Wrap up
--------------------
GitHub: github.com/jeffamstutz
Twitter: / jeffamstutz
Blog: jeffamstutz.io/

Пікірлер: 25
@GrantLathrom
@GrantLathrom 2 жыл бұрын
This is the best and most clear CMake tutorial that I've seen! Keep up the good work!!
@jeffersonamstutz
@jeffersonamstutz 2 жыл бұрын
Thanks!
@kuijaye
@kuijaye 6 ай бұрын
Althiugh not beginner friendly but really useful and great tutorial for those who want to deep diver and understand cmake better
@adelbenhamida8609
@adelbenhamida8609 2 жыл бұрын
Thank you SO much man !!!, it was really helpful !
@kcchaitu
@kcchaitu 3 жыл бұрын
Thanks for the video. Its really helpful.
@manuelpagliuca
@manuelpagliuca 2 ай бұрын
Thanks for this playlist man, really helpful!
@sonulohani
@sonulohani 3 ай бұрын
Thanks for the awesome tutorial
@adham5149
@adham5149 2 жыл бұрын
More of that content please
@Shimmen
@Shimmen 3 жыл бұрын
Thank you for these videos, they are a really helpful! I have been using CMake for a while now but my understanding is still not very strong. A build system always have the problem where once you get things working you are quite happy with it and not interested in investing more time into it.. Anyway, I hope you will continue this series into the more complex and obscure features in the future.
@jeffersonamstutz
@jeffersonamstutz 3 жыл бұрын
Thanks for the encouragement, glad they help! There is certainly no shortage of topics to cover...more on the way!
@ahmadshahba3340
@ahmadshahba3340 3 жыл бұрын
Thanks for the videos! They are very instructive and helpful. I wish you had discussed INTERFACE, PUBLIC and PRIVATE keywords in more depth. Maybe some simple examples would help a lot
@jeffersonamstutz
@jeffersonamstutz 3 жыл бұрын
I’ll consider doing a more in depth video on target property visibility and propagation!
@abdulrhmanmadi7392
@abdulrhmanmadi7392 2 жыл бұрын
Man you are great! I think CMake is a failure tbh. Build system generator suppose to be user friendly but alas. CMake is the opposite of that. You have to spend more time on the build system to figure out how to accomplish a specific task and there is not a single simple resource to follow.
@oguzynx
@oguzynx Жыл бұрын
Hey Jeff, I have a question. You added "target_link_libraries(${PROJECT_NAME} PRIVATE app_external_deps)" in the cmake on the src. But actially app_external deps is for the ones in lib folder. Isn't it more logical to put this line in the cmake on the external directory?
@JavedAli-fu4kk
@JavedAli-fu4kk 2 жыл бұрын
❤️❤️❤️❤️
@hristijanl.3997
@hristijanl.3997 3 жыл бұрын
JUST GOTTA CREATE A BRANCH AND GET ON WITH IT! :)
@hristijanl.3997
@hristijanl.3997 3 жыл бұрын
love the vids :)
@user-vc2pm5xv7s
@user-vc2pm5xv7s 3 жыл бұрын
Have you used premake?
@jeffersonamstutz
@jeffersonamstutz 3 жыл бұрын
Not in a meaningful way, I've spent the overwhelming majority of my C/C++ development time with only CMake. Maybe some day I'll revisit it!
@kumarutkarsh1248
@kumarutkarsh1248 4 ай бұрын
cant able to follow along because you have taken your own project which i have no idea about
@quant-prep2843
@quant-prep2843 2 жыл бұрын
not good, just theoretic explanations. It would be nice if you teach it by actually implementing thru practise
@ata243y
@ata243y Жыл бұрын
why would i watch this if i know all that shit he assumes that i know. i just wanted to use a simple library and cant even find a fucking explanation on the internet how the fuck i can do it simply!!! reason to give up c++ im just bored asf researching and wasting time with that shit
@quant-prep2843
@quant-prep2843 2 жыл бұрын
lot of talking not context, such a bad videos he got here
Better CMake Part 4 -- find_package() Basics
23:10
Jefferson Amstutz
Рет қаралды 20 М.
Better CMake Part 1 -- Basic Project Setup and Usage
11:31
Jefferson Amstutz
Рет қаралды 44 М.
FOOLED THE GUARD🤢
00:54
INO
Рет қаралды 62 МЛН
Smart Sigma Kid #funny #sigma #comedy
00:19
CRAZY GREAPA
Рет қаралды 23 МЛН
Vivaan  Tanya once again pranked Papa 🤣😇🤣
00:10
seema lamba
Рет қаралды 22 МЛН
We Got Expelled From Scholl After This...
00:10
Jojo Sim
Рет қаралды 69 МЛН
Better CMake Part 2 -- Functions and Macros
14:47
Jefferson Amstutz
Рет қаралды 15 М.
Better CMake Part 6 -- Superbuilds w/ ExternalProject
21:40
Jefferson Amstutz
Рет қаралды 8 М.
2023 LLVM Dev Mtg - Understanding the LLVM build
47:05
An Introduction to CMakePresets.json
24:19
Microsoft Developer
Рет қаралды 8 М.
Object Oriented Programming is Good | Prime Reacts
31:30
ThePrimeTime
Рет қаралды 290 М.
15 Python Libraries You Should Know About
14:54
ArjanCodes
Рет қаралды 368 М.
Better CMake Part 8 -- Package Configs for Normal Libraries
30:28
Jefferson Amstutz
Рет қаралды 7 М.
How-To Use C++ Libraries (without relying on a package manager)
30:22
Code, Tech, and Tutorials
Рет қаралды 51 М.
FOOLED THE GUARD🤢
00:54
INO
Рет қаралды 62 МЛН