Complete CMake Project Management [2024]
What you'll learn
- CMake (CLI, GUI and with IDEs)
- Linking external libraries with VCPKG, Git and through subdirectories
- Create simple C/C++ build commands and structure
- Running Executables, Shell scripts, CMake scripts or Python on build
- Cross-compiling via Emscripten Toolchains for the web
- Use with IDEs - Visual Studio, VS Code, CLion
- Packaging the project with an install wizard or directly installing it
- Unit Testing: without a framework, with Catch2 or with GoogleTest
- Embedding, copying and configuring files on build
- Creating code graphs with GraphViz
- Analyzing your code through CppCheck
- Add a compiler runner like CCache for faster builds
Requirements
- Understand C/C++
- Knowledge about basic programming concepts
Description
Reviews:
"Awesome course. I wanted to learn CMake a long time ago, but every time I tried to learn, I just felt overwhelmed by the sources. This course gives a really good step-by-step approach, with a good didactic." - Andre Aranha
"Totally recommend this course; the mentor teaches each and ever aspect of CMake also he answers every query"—Million Stinger_S
"Very knowledgeable instructor! If you're interested in C and/or C++, even as a hobby, you'll need to learn CMake. This course covers everything you need to start and work on both small and large projects. It includes topics like dependency management, testing, and packaging. You can't go wrong with this one." - Fellipi Carmo
"The course is suitable for beginners and advanced users who want to improve their CMake knowledge." - Victor Stoykov
Description:
This course is all about CMake. CMake is an application that helps you structure C/ C++-based native projects, generate build commands for the target platform, build your application, pack it into an installer, install it, test it, and it will even help you with managing your dependencies.
In this course, you will learn:
How to use CMake to structure and compile your C/C++ projects
How to manage your dependencies
How to get your project compiled for the web using Emscripten
How to include unit tests and test your application
How to customize the build pipeline with your own tools (if you want to do your own custom build steps)
How to compile other projects that support CMake and even ones that do not
How to install and package your project
Bonus snippets include some advanced setups like documentation using Doxygen
In the end, you will have all the knowledge needed to be able to open up a random CMake project and compile it yourself. You will also be able to confidently start and write your own CMake scripts for your projects. This will elevate your programming experience with the low-level C/C++ languages, and it will also simplify a lot of the hard concepts related to those languages.
This course is primarily taught on the Windows OS, but the knowledge gained can easily translate into other operating systems as well.
Who this course is for:
- New or experienced C/C++ developers
- DevOps individuals who want to learn more about C/C++ project management
Instructor
Hi, I'm Hristo,
I'm a Software Engineer and in my professional carrer I've been a Technical Lead with C# and Senior Gamplay Programmer with C++. I have practical and advanced knowledge in many programming languages. I am also the co-founder of a startup called Paper Cranes Ltd. which specializes in website development.
In my line of work, I've mentored and elevated many professionals to be experienced developers. If you learn with me you will be gaining real practical knowledge that you can apply tomorrow at your job or at your next project.