The only CMake tutorial you will ever need (easy CMake setup tutorial)

Поделиться
HTML-код
  • Опубликовано: 29 окт 2024

Комментарии • 73

  • @BryanAnderson-o1u
    @BryanAnderson-o1u Год назад +24

    i cant wait until Midnight Arrow comes out the game looks good to me and thank you soo much for the tip on cmake i was doing it rong lol

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Год назад +1

      thanks for the feedback! I hope I will be able to help as many people as possible with cmake because I can't seem to find people that use it like this on the web

  • @yuwownly8630
    @yuwownly8630 Год назад +16

    Always thrilled to wake up seeing new video from this channel.

  • @RealValkor
    @RealValkor 6 месяцев назад +1

    A channel dedicated to low level programming and game dev? Sign me in!
    I love low level development, just bought an OpenGL course and I'm gonna eat that up fr.

  • @davidmarinho2848
    @davidmarinho2848 Год назад +8

    Man you are a LEGEND 🙌🙌
    I don't know what downfalls this cmake config may have but it is soooo nice that I really don't care!
    This is the cmake setup that I always have dreamed of achieving!
    Thank u for sharing with us! 💪

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Год назад +2

      thanks for the feedback 💪 I also use this setup every day and this is why I shared it with you all

  • @arl-t8d
    @arl-t8d Год назад +88

    now I realized how much i hate cmake

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Год назад +25

      😂😂 Yeah cmake do be kinda sus ඞ

    • @ahmedwafi2171
      @ahmedwafi2171 8 месяцев назад +3

      +22222

    • @peterwang4094
      @peterwang4094 6 месяцев назад +2

      but you have a few choices😂

    • @FS-rm1yg
      @FS-rm1yg 4 месяца назад +2

      Because you didnt have to deal with old make?

    • @arl-t8d
      @arl-t8d 4 месяца назад +1

      @@FS-rm1yg Cmake is the only thing that I use, but I still think it is overcomplicated

  • @zeke4897
    @zeke4897 Год назад +9

    Man your channel is just the best!!! Keep up the good work 👍

  • @warriorsupp
    @warriorsupp 7 месяцев назад

    legend, 10 months after, still helpful

  • @lolcat69
    @lolcat69 Год назад +4

    Cool video, wanted to lrarn how to use CMake a long time ago but i have never found a good video and i have not learned shit, so thanks man ❤

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Год назад +1

      I'm glad you liked it man 💪 This is how I use cmake and I hope others can learn from my experience

  • @lehisluguer9300
    @lehisluguer9300 6 месяцев назад

    Finally someone who explains an easy and straightforward way to use cmake with visual studio in windows.. Thank you so much 😁

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  6 месяцев назад

      you're wellcome bro 💪 Yes CMake is done very badly online so if you found this video helpfull share it so more people learn to do it well 💪💪

  • @not_halls
    @not_halls Год назад +2

    this man's accent and voiceeee broo
    i can hear it for daysss

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Год назад +4

      there are 2 types of people: those who love my accent and those who can't understand a word 😂😂

    • @not_halls
      @not_halls Год назад

      Hahahaha
      They would stay for the voice even if they didn't understand

  • @alvarosanchezp
    @alvarosanchezp 4 месяца назад +4

    It was supposed to be a CMake tutorial, but it is a VisualStudio + CMake tutorial...

    • @madbanana22
      @madbanana22 3 месяца назад

      yeah it's cool I can build the app with one click from VS but why do I need to install another IDE just to compile my app

  • @Saiyaman93
    @Saiyaman93 6 месяцев назад +9

    Title "The only CMake tutorial you will ever need" is basically clickbait. If you want quick project setup, just grab link from video description, if you want to learn things, then close this video, because you will learn not much

  • @CurlyManGA
    @CurlyManGA 7 месяцев назад

    This is a great video! I just have one problem, I run Linux on my main computer as I find it easier for software and game development. Linux doesn't support MS Visual Studio, what can you recommend?

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  7 месяцев назад

      probably clion or vscode, but cmake can generate you a makefile so you can use whatever you like

    • @CurlyManGA
      @CurlyManGA 7 месяцев назад

      @@lowlevelgamedev9330 Thank you very much, I love your content!

  • @giorgospapoulidis8134
    @giorgospapoulidis8134 Год назад +3

    sadly you dont actually explain what cmake does. Why use target_link_library and not link_library? why use add_directory and not include_directories? what does add_subdirectory do that add_directory doesnt? cmake uses its own language. You cant learn C unless you learn what types and what commands it uses

    • @giorgospapoulidis8134
      @giorgospapoulidis8134 Год назад

      "we also have to add this line". thats how you know the tutorial isnt actually a tutorial but an open source project xD

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Год назад +2

      good point, so I designed the tutorial in this way to keep it very simple and allow people to start working at cmake. All the things that you can see in my tutorial can be easily found on the web but what I struggle to find is a good cmake setup. At least in my oppinion most people overcomplicate their cmake setups a lot

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Год назад +4

      but maybe I'll make a more indepth tutorial at some point

    • @giorgospapoulidis8134
      @giorgospapoulidis8134 11 месяцев назад

      @@lowlevelgamedev9330 since i really needed to be able to use a library which has .h, .a and .dll files, i went on a journey to learn how compiling with gcc works (cause of my inner curiosity of low level things and my friend telling me to start a project using autotools to understand how things work). By compiling multiple, simple but different in structure programs, i understood what cmake does, without studying cmake.
      things that noone tells you but you must know in order for things to work, and not waste HOURS of you time wondering why you cant find a solution:
      1) i need the dll on a specific location to be able to use it
      2) namings of files. for example. At uni we say "import the standard library". and i do #include . and this time, i used the word library instead of HEADER. huuuuuge pain in the ass until i realised...
      because a) google search results explain what actual libraries are (.lib files) b) i never actually knew the use of .h files c) a+b= you see that you dont understand something, you search for it, and you get something that you do understand, but its not the same thing you looked for
      3) cmake naming scheme is confusing. Lets take "link_directories()". what it actually does, is add a directory for the linker to search in for a specific file type. what i thought, was that it combined multiple directories, in which all types of files existed, and then cmake would recognize each file and link what needs to be linked. what i thought was something that could have the same name, but a completely different process.
      i know its stupid when you already know whats going on, but i cant emphasize how differently i thought about how cmake functions work. I even explained this to my friend when i found out. I explained how i used to think they work, and how they actually work, and in both cases, i described what actually is happening, i said the same thing but with different words. But my brain thought they were different. My brain was a mess...
      I watched some other tutorials. None of them made sense. Cause as i said, you need to know how a preprocessor+compiler+assembler+linker works. I understand that you want to keep things simple. But unless you know whats going on under the hood, you cant understand shit. Me and probably other people, dont know what we dont know. I didnt know that i didnt know how gcc works. So there is no way i would look for tutorials.
      I think you should make a tutorial explaining how gcc works, and put that as a necessity for watching the cmake tutorial. When a tool is created to help with a process, the users must know what was that process, what was wrong with it, and how we solve it. If you dont, you add abstraction layers which can result in a guy on youtube, writting a 500 word comment

  • @juliuswiest7815
    @juliuswiest7815 6 месяцев назад

    I dont get it
    Help I cant get it to work, where is the file in the first 2 mins

  • @1_and_only_Crjase
    @1_and_only_Crjase 9 месяцев назад +1

    I don't wanna be dependant on visual studio. I use vscode, I just hate opening visual studio every time I want to create a new build for each change.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  9 месяцев назад +1

      I can understand that, tho you don't need to reopen vs every time if you do it how I showed it in the video

    • @1_and_only_Crjase
      @1_and_only_Crjase 9 месяцев назад

      @@lowlevelgamedev9330 if found an extension for vscode to build it

  • @samuraijosh1595
    @samuraijosh1595 Месяц назад

    I didnt want to be told to use visual studio to simplify the cmake process. thats not actually simplifying it. the visual studio handles cmake under the hood is also an abstraction layer. simplifying means to simplify the build process such that you need as less dependencies as possible. VS Studioo is a dependency the way youre doing itl

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Месяц назад

      well you don't have a better option either and its the language's fault because it is old. This is the best option rn

    • @defeatSpace
      @defeatSpace 9 дней назад +1

      @@lowlevelgamedev9330cmake generates project files for native build tools like make, visual studio, xcode, ninja, et al.; im even using cmake with notepad++
      stop spreading brainworms misinformation, you have too many brainworms from eating poo-water street-food; after all, nobody keeps the poo in the loo 😩🤧💀

  • @bergnezdonlehachich5572
    @bergnezdonlehachich5572 Год назад

    Insane!

  • @hexcrown2416
    @hexcrown2416 11 месяцев назад

    You define the CMAKE_MSVC_RUNTIME_LIBRARY twice, wouldnt it always just use the one set last, since set is an assignment as far as im aware and not a append operarion.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  11 месяцев назад

      Indeed I have to look more into that thing, for some reason setting the runtime to be static is the most difficult thing ever and it ALWAYS gives me problems, once I managed to make it working (after 3 failed attepts) I never touched that code again 😂😂

  • @kovesik
    @kovesik Год назад +1

    Ложь заключается в том, что Visual Studio Solution не регенерируется! На самом деле Cmake добавляет правила в решение, которые отслеживают актуальность cmake файлов и при необходимости обновляет твой проект. Все ещё представление проектов Cmake отстаёт в поддержке плагинов.

  • @dellosCao
    @dellosCao 4 месяца назад

    thank you for your very helpful video. can you update moreCompleteExample project to make safeSave also dependence on profilerLib ?

  • @MAHENDERSINGH-em1qe
    @MAHENDERSINGH-em1qe Год назад +1

    Bro I have to make a Game by using C++ For my college Project.
    From where i should start.
    Can I create a 2D/3D game by using C++.
    if yes Then which free software I should use.

    • @MAHENDERSINGH-em1qe
      @MAHENDERSINGH-em1qe Год назад

      @@TruthSpitter253 and is it create on C++ programing language??

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Год назад +1

      I think visual studio would be a better option, I have a video about how to start gamedev in c++ and i give some options there. Creating a 2D game in c++ is quite easy actually. The easiest way would probably be to follow a javidx9 tutorial amd use his linrary for drawing to the screen.

    • @MAHENDERSINGH-em1qe
      @MAHENDERSINGH-em1qe Год назад

      @@lowlevelgamedev9330 thanks. For suggestions.
      I will use them if Stuck I will massage you 🙏👍

    • @CyberRazeR
      @CyberRazeR Год назад +1

      Don't make this main project for your College project if you have year or so left in your college, this stuff if you are just starting will take at least 6 months at max to get used to and maybe a year to make a proper engine to run game on without messing things up, I would recommend using a already made cpp engine to start if you are low on time if you have 3 +years i would say develop your own in your college lifespan.

  • @Light13378
    @Light13378 10 месяцев назад

    Hello can you make how can i do it in vim or vs code
    I cant do in vs community because of file I want light like vim or vs code so make video about it

  • @Mhmhind
    @Mhmhind Год назад

    Can you please do for Embarcadreo Rad studio C++ I am struggling to install websocket ++ libraries

  • @alexdefoc6919
    @alexdefoc6919 10 месяцев назад +1

    Romania 💪

  • @justtony5149
    @justtony5149 3 месяца назад +2

    You sound Bulgarian 😂

  • @CloudlessStudio
    @CloudlessStudio Год назад

    This may help me give OpenGL another chance

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Год назад +1

      try the second github link in the description. I have opengl and glfw glm imgui and stbimmage already setup. You can just open that cmake project and start writing opengl code in the update function

  • @JanisSouliere-t4t
    @JanisSouliere-t4t 15 дней назад

    Tillman Cove

  • @rafagamedev3606
    @rafagamedev3606 Год назад

    Spent a couple hours with the error "the code execution cannot proceed because glfw3d.dll was not found," anyone have any leads? Help is super appreciated!

  • @SedatKPunkt
    @SedatKPunkt Год назад

    👍👍👍👍👍👍

  • @tornadoreaper
    @tornadoreaper 9 месяцев назад

    oh wow that's complicated

  • @Alx-je7oj
    @Alx-je7oj 3 месяца назад

    Rambling, can't understand what you are saying . Terrible

  • @ShadowZero27
    @ShadowZero27 10 месяцев назад

    i cant understand you and its not your accent its because you speak too fast and drawl into virtual silence