HomeCoursesModern CMake for C++
4.9

Beginner

37h

Modern CMake for C++

Gain insights into using CMake in C++ projects. Learn about building, testing, and packaging automation, optimizing compilation processes, and making informed tool choices for effective project configuration.
Join 2.7 million developers at
Overview
Content
Reviews
Related
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.

5.

Working with Targets

9 Lessons

Deepen your knowledge of managing targets, properties, dependencies, and generator expressions in CMake.

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.

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
Every Educative resource is designed by our in-house team of ex-MAANG software engineers and PhD computer science educators — subject matter experts who’ve shipped production code at scale and taught the theory behind it. The goal is to get you hands-on with the skills you need to stay ahead in today's constantly evolving tech landscape. No videos, no fluff — just interactive, project-based learning with personalized feedback that adapts to your goals and experience.

Trusted by 2.7 million developers working at companies

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

AI Prompt

Build prompt engineering skills. Practice implementing AI-informed solutions.

Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

Explain with AI

Select any text within any Educative course, and get an instant explanation — without ever leaving your browser.

AI Code Mentor

AI Code Mentor helps you quickly identify errors in your code, learn from your mistakes, and nudge you in the right direction — just like a 1:1 tutor!

Free Resources

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath