HOME > Development > Effective Modern CMake- Level Beginner

Effective Modern CMake- Level Beginner

  • Development
  • Nov 30, 2024
SynopsisEffective Modern CMake: Level Beginner, available at $54.99,...
Effective Modern CMake- Level Beginner  No.1

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

  • Effective Modern CMake- Level Beginner  No.2
    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!