This course builds your foundational skills in CMake, enabling you to create reliable, maintainable, and portable build systems. Mastering these capabilities is essential for modern software development, where consistent builds and streamlined dependency management greatly enhance productivity.

Minimal CMake
Ends soon: Gain next-level skills with Coursera Plus for $199 (regularly $399). Save now.

Recommended experience
What you'll learn
Set up projects for seamless cross-platform development.
Integrate external libraries to enhance your project's functionality.
Create and share reusable libraries.
Skills you'll gain
- Software Development Tools
- Software Installation
- Software Engineering
- Maintainability
- Build Tools
- Cross Platform Development
- Package and Software Management
- Command-Line Interface
- CI/CD
- Development Environment
- Unit Testing
- Dependency Analysis
- Configuration Management
- Software Configuration Management
- Test Tools
- Continuous Integration
Details to know

Add to your LinkedIn profile
January 2026
11 assignments
See how employees at top companies are mastering in-demand skills

There are 11 modules in this course
In this section, we introduce CMake setup for Windows, macOS, and Linux, along with Git and Visual Studio Code, to establish a consistent development environment for application building and open source integration.
What's included
2 videos1 reading1 assignment
In this section, we introduce basic CMake commands, analyze CMakeLists.txt structure, and configure generators for cross-platform builds, enhancing project management and efficiency.
What's included
1 video6 readings1 assignment
In this section, we explore integrating external libraries using FetchContent in CMake. Key concepts include describing dependencies, linking libraries, and managing options for efficient project development.
What's included
1 video5 readings1 assignment
In this section, we cover creating CMake libraries compatible with FetchContent for cross-platform use.
What's included
1 video5 readings1 assignment
In this section, we explore CMake script automation, preset configuration, and workflow optimization to enhance project efficiency and simplify setup for new users.
What's included
1 video4 readings1 assignment
In this section, we learn how to install libraries and configure CMake for better project organization.
What's included
1 video5 readings1 assignment
In this section, we explore adding install support to libraries using CMake, configuring components, and writing find modules to enhance reusability and dependency management.
What's included
1 video6 readings1 assignment
In this section, we explore automating project setup using ExternalProject_Add and super builds.
What's included
1 video5 readings1 assignment
In this section, we explore implementing CTest for unit testing, adding end-to-end tests with CMake, and integrating CDash for test reporting to enhance software reliability and maintainability.
What's included
1 video6 readings1 assignment
In this section, we explore CPack for cross-platform packaging, configure CMakeLists.txt, and generate macOS, Windows, and Linux packages for efficient software distribution.
What's included
1 video6 readings1 assignment
In this section, we explore CMake tools for Visual Studio Code, configure CMake with multiple IDEs, and apply best practices to optimize C/C++ builds for efficient development workflows.
What's included
1 video6 readings1 assignment
Instructor

Offered by
Explore more from Software Development
Status: Free Trial
Status: PreviewSimplilearn
Why people choose Coursera for their career





Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy
Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
More questions
Financial aid available,



