Creating production-ready software is not a trivial task. A common issue developers face is the lack of coherent guidelines to build effective and elegant solutions. This course provides learners an end-to-end hands-on experience in building C++ solutions in a comprehensive manner.
You’ll start with the processes to use CMake in your projects. Next, you’ll learn about the automation of complex tasks including building, testing, and packaging. Then, you’ll learn how to form source directories, as well as build targets and packages. By the end of the course, you’ll know how to compile and link executables and libraries, how these processes exactly work, and how to optimize all steps to achieve the best results.
After taking this course, you’ll be able to effectively apply CMake and its associated tools to build, package, and test your C++ projects. You’ll also be able to make informed decisions on the selection of appropriate tool choices to configure, test, and report results of your projects.
Creating production-ready software is not a trivial task. A common issue developers face is the lack of coherent guidelines to b...Show More
WHAT YOU'LL LEARN
A deep understanding of the steps involved in the software build process
Working knowledge of the automation process of complex tasks in the building project
Familiarity with the different options available to build software
Hands-on exposure to navigating through the project structure, scripts, and modules to build maintainable and clean solutions
Hands-on practice with different CMake tools to configure, run, and generate test results
Hands-on experience in applying the end-to-end CMake process to build, test, and package C++ projects
A deep understanding of the steps involved in the software build process
Show more
Content
1.
Introduction to the Course
1 Lessons
Get familiar with building and managing elegant, maintainable C++ projects using CMake.
2.
First Steps with CMake
11 Lessons
Look at transforming C++ source code into executables using CMake's automated build process.
IntroductionUnderstanding the BasicsCMake ToolsCMake Command: Generating a Project Build SystemCMake Command: Building a ProjectCMake Command: Other OperationsOther CMake ToolsNavigate the Project Files: Directory Structure and Cache VariableNavigate the Project Files: Configuration Files and PresetsDiscovering Scripts and ModulesChapter Wrap-up
3.
The CMake Language
12 Lessons
Work your way through essential CMake syntax, variable management, control structures, and useful commands.
4.
Setting Up Our First CMake Project
10 Lessons
Find out about setting up and optimizing your first CMake project with structured guidance.
5.
Working with Targets
9 Lessons
Deepen your knowledge of managing targets, properties, dependencies, and generator expressions in CMake.
6.
Compiling C++ Sources with CMake
9 Lessons
Investigate the complexities of C++ compilation, preprocessor and optimizer configurations, and efficient build management.
7.
Linking with CMake
8 Lessons
Master linking in CMake, understanding files, libraries, symbol management, and testing techniques.
8.
Managing Dependencies with CMake
10 Lessons
Learn how to use CMake for managing external dependencies efficiently in C++ projects.
9.
Testing Frameworks
10 Lessons
Unpack the core of automated testing, CTest integration, and using Catch2 and GTest in C++.
10.
Program Analysis Tools
7 Lessons
Work your way through program analysis tools for formatting, static checking, and dynamic analysis.
11.
Generating Documentation
4 Lessons
Grasp the fundamentals of generating clear, modern documentation using Doxygen in CMake projects.
12.
Installing and Packaging
13 Lessons
Generate and manage C++ project installations and packages effectively using CMake and CPack.
13.
Creating Our Professional Project
9 Lessons
Tackle structuring, building, and managing dependencies for a professional CMake project.
14.
Conclusion
1 Lessons
Master the steps to build, manage, and automate professional C++ projects using CMake.
15.
Appendix
6 Lessons
Learn how to use essential CMake commands for installation, string, list, file, and math operations.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources