Effective Modern CMake: Level Beginner
Effective Modern CMake: Level Beginner, available at $54.99, has an average rating of 4.65, with 47 lectures, 5 quizzes, based on 48 reviews, and has 425 subscribers.
You will learn about Modern CMake approach CMake syntax and mechanics Build system good practices How to keep build system clean and developer friendly This course is ideal for individuals who are C++ Developers or Devops working with build system basing on CMake or C Developers or Qt Developers or C++ Software Engineer or C Software Engineer or Qt Software Engineer It is particularly useful for C++ Developers or Devops working with build system basing on CMake or C Developers or Qt Developers or C++ Software Engineer or C Software Engineer or Qt Software Engineer.
Enroll now: Effective Modern CMake: Level Beginner
Summary
Title: Effective Modern CMake: Level Beginner
Price: $54.99
Average Rating: 4.65
Number of Lectures: 47
Number of Quizzes: 5
Number of Published Lectures: 47
Number of Published Quizzes: 5
Number of Curriculum Items: 52
Number of Published Curriculum Objects: 52
Original Price: €34.99
Quality Status: approved
Status: Live
What You Will Learn
- Modern CMake approach
- CMake syntax and mechanics
- Build system good practices
- How to keep build system clean and developer friendly
Who Should Attend
- C++ Developers
- Devops working with build system basing on CMake
- C Developers
- Qt Developers
- C++ Software Engineer
- C Software Engineer
- Qt Software Engineer
Target Audiences
- C++ Developers
- Devops working with build system basing on CMake
- C Developers
- Qt Developers
- C++ Software Engineer
- C Software Engineer
- Qt Software Engineer
For many developers CMake is not so intuitive, eg. because of the syntax. Others are able to see CMake documentation, but miss good practical examples. After more than 10 years of experience in programming and leading many CMake workshops I was ready to prepare multiplatform friendly course for beginners in CMake world and also for people that has experience in CMake that will help to solve that problems.
There is many tutorials and blog posts, so why this training? In this training I put not only theory that you can find in the popular websites, but firstly I present:
-
good practices from first lecture
-
how to avoid making simple but hard to find mistakes
-
advantages and disadvantages of many solutions
This training is the first part of series “Effective Modern CMake”.
In this training I try to avoid the command line that is usually good, but platform dependent, so never mind if you are using Windows, Linux or macOS. This training is for you. Moreover I show differences and in some topics dedicated solutions for each platform if it is needed. I prepared videos that help you setup environment in the most popular code editors like CLion, Visual Studio and Qt Creator. Of course you can use your favorite IDE.
Would you like to have an example of given topic, eg. integrating with C++ library? Put a comment and collect the vote!
Course Curriculum
Chapter 1: Course introduction
Lecture 1: Course scope – is this training for you?
Lecture 2: How we will learn CMake?
Chapter 2: Environment setup
Lecture 1: Introduction to environment setup
Lecture 2: Installing CMake and Ninja on Windows
Lecture 3: Installing CMake and Ninja on Ubuntu
Lecture 4: Installing CMake and Ninja on MacOS
Lecture 5: Working with CLion
Lecture 6: Working with Visual Studio & Ninja
Lecture 7: Working with Qt Creator
Lecture 8: Working with Terminal
Lecture 9: Multiplatform compilers on Windows
Chapter 3: CMake basics
Lecture 1: First CMake project
Lecture 2: CMake Generators
Lecture 3: Variables
Lecture 4: List variables
Lecture 5: Creating executable
Lecture 6: Creating libraries
Lecture 7: Modern CMake project structure
Lecture 8: Other library types
Lecture 9: Project structure variables
Lecture 10: Conditions
Lecture 11: Definitions
Lecture 12: Multiplatform linking to dynamic libraries
Lecture 13: CMake Cache
Lecture 14: Adding tests to build system
Lecture 15: Linking to external libraries
Lecture 16: Generating documentation
Lecture 17: Target properties
Lecture 18: Introduction to CTest
Lecture 19: Providing sources to target
Lecture 20: Build types
Lecture 21: Functions syntax
Lecture 22: Moving functions to separate files
Lecture 23: Functions tricks and traps
Lecture 24: Implementing simple function
Lecture 25: Fixing functions usage
Lecture 26: Parsing function arguments
Lecture 27: Macros
Lecture 28: Compiler flags
Lecture 29: Installing basics
Chapter 4: Example Case: Project review & refactoring
Lecture 1: Preparing project setup for refactoring
Lecture 2: Additional tip for Mac M1 users
Lecture 3: Project structure review
Lecture 4: Project structure refactoring – Part 1
Lecture 5: Project structure refactoring – Part 2
Lecture 6: Project polishing
Lecture 7: Optimizing targets dependencies graph
Instructors
-
Sławomir Grabowski
Software Engineer & Trainer
Rating Distribution
- 1 stars: 0 votes
- 2 stars: 1 votes
- 3 stars: 8 votes
- 4 stars: 16 votes
- 5 stars: 23 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Language Learning Courses to Learn in November 2024
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024