CMake, Tests and Tooling for C/C++ Projects [2024 Edition]
CMake, Tests and Tooling for C/C++ Projects [2024 Edition], available at $84.99, has an average rating of 4.47, with 68 lectures, based on 1298 reviews, and has 9182 subscribers.
You will learn about CMake (Command Line and GUI) Create modern C/C++ Projects Use external Projects via Git, Conan and VCPKG Automate the HTML Documentation (Doxygen) Unit Testing with Catch2 Code Coverage of the Unit Tests Continuous Integration with Github Actions Tooling: Clang-Format, Clang-Tidy, Cppcheck Tooling: Sanitizer, Cmake-Format, Pre-Commit VSCcode and VS 2022 with GCC, Clang and MSVC This course is ideal for individuals who are Every C and C++ Programmer It is particularly useful for Every C and C++ Programmer.
Enroll now: CMake, Tests and Tooling for C/C++ Projects [2024 Edition]
Summary
Title: CMake, Tests and Tooling for C/C++ Projects [2024 Edition]
Price: $84.99
Average Rating: 4.47
Number of Lectures: 68
Number of Published Lectures: 67
Number of Curriculum Items: 68
Number of Published Curriculum Objects: 67
Original Price: $29.99
Quality Status: approved
Status: Live
What You Will Learn
- CMake (Command Line and GUI)
- Create modern C/C++ Projects
- Use external Projects via Git, Conan and VCPKG
- Automate the HTML Documentation (Doxygen)
- Unit Testing with Catch2
- Code Coverage of the Unit Tests
- Continuous Integration with Github Actions
- Tooling: Clang-Format, Clang-Tidy, Cppcheck
- Tooling: Sanitizer, Cmake-Format, Pre-Commit
- VSCcode and VS 2022 with GCC, Clang and MSVC
Who Should Attend
- Every C and C++ Programmer
Target Audiences
- Every C and C++ Programmer
Course Description:
Ready to elevate your C/C++ development skills and gain a professional edge? This course is designed to help you master modern CMake projects, unit testing, continuous integration tools, and more, tailored for your daily C/C++ workflow.
Whether you’re maintaining existing projects or starting new ones, this course provides the essential tools and techniques for efficient and effective development, ensuring you stay ahead in the competitive field of software engineering.
What You’ll Learn:
-
Software Installation: Set up on Windows, Linux, and Mac.
-
Compiler Compatibility: Works with GCC, Clang, and MSVC compilers.
-
CMake Tutorial: Master libraries, targets, installation, and more.
-
Doxygen Documentation: Generate professional documentation.
-
Package Managers: Use VCPKG and Conan for package management.
-
Unit Testing: Implement unit tests with Catch2.
-
Code Coverage & CI Testing: Ensure robust code with continuous integration.
-
Advanced Tooling: Utilize LTO, Clang-Tidy, Clang-Format, pre-commit, cmake-format.
-
Sanitizers: Run-time checks for your code (e.g. memory leaks).
-
Debugging & Running: Efficiently debug and execute your software.
Why This Course?
-
Comprehensive Learning: Gain practical skills for professional software development.
-
Hands-On Projects: Apply your knowledge with real-world examples.
-
Best Practices: Learn industry-standard practices for C/C++ development.
Step into the future of C/C++ development and become a professional today!
See you in class!
Course Curriculum
Chapter 1: Introduction
Lecture 1: Introduction
Lecture 2: Windows: Software Installation – Part 1
Lecture 3: Windows: Software Installation – Part 2
Lecture 4: Linux: Software Installation – Part 1
Lecture 5: Linux: Software Installation – Part 2
Lecture 6: Mac: Software Installation
Lecture 7: Course Guide
Lecture 8: Course Materials
Lecture 9: Visual Studio Code Setup
Lecture 10: Windows: WSL in VSCode
Chapter 2: Modern CMake
Lecture 1: Prologue to the chapter
Lecture 2: Hello World Example
Lecture 3: CMake Command Line – Part 1
Lecture 4: Generators
Lecture 5: Basic Project Strcuture
Lecture 6: Intermediate Project Structure
Lecture 7: Alternative Project Strucutre
Lecture 8: Variables and Options
Lecture 9: CMake Command Line – Part 2
Lecture 10: Variable Cache
Lecture 11: Configure File
Lecture 12: Sources and Headers
Lecture 13: CMake Command Line – Part 3
Lecture 14: External Libraries: Git Submodule
Lecture 15: Dependency Graph – Part 1
Lecture 16: External Libraries: Fetch Content
Lecture 17: Doxygen Documenation
Lecture 18: Unit Testing with Catch2
Lecture 19: CTest and Catch2 Update
Lecture 20: Important CMake Variables
Lecture 21: Dependency Graph – Part 2
Lecture 22: Public, Interface and Private
Lecture 23: Adding Compiler Warnings
Lecture 24: target_compile_features, options and definitions
Lecture 25: Sanitizers
Lecture 26: What is the IPO/LTO?
Lecture 27: IPO/LTO in CMake
Lecture 28: Generator Expressions
Lecture 29: External Libraries: CPM
Lecture 30: External Libraries: Conan
Lecture 31: External Libraries: VCPKG
Lecture 32: Which Tool for external Libraries?
Chapter 3: The C++ Project Template
Lecture 1: Final Github Repository
Lecture 2: CMake Scripts Update
Lecture 3: Clang-Tidy
Lecture 4: Clang-Format and Cmake-Format
Lecture 5: Github Pages
Lecture 6: Unit Test Updates
Lecture 7: Code Coverage
Lecture 8: Github Actions
Lecture 9: Pre-Commit
Lecture 10: Install Command
Lecture 11: CMake Extension: Debugging and Running
Lecture 12: CMake Extension: CMake Kits
Chapter 4: More about CMake and VSCode
Lecture 1: Shared vs. Static Library
Lecture 2: Header Only Library
Lecture 3: Cross Compilation (Toolchains)
Lecture 4: Using Pre-Compiled Libraries – Part 1
Lecture 5: Using Pre-Compiled Libraries – Part 2
Lecture 6: Custom Target
Lecture 7: Custom Command
Lecture 8: Execute Process
Chapter 5: CMake GUI
Lecture 1: CMake GUI
Lecture 2: Windows: Visual Studio 2022 Project
Chapter 6: Conclusion
Lecture 1: ImGui and C Template Project
Lecture 2: Conclusion
Lecture 3: Bonus Lecture
Instructors
-
Jan Schaffranek
M.Sc in Computer Science – Machine Learning, C/C++, Python
Rating Distribution
- 1 stars: 11 votes
- 2 stars: 18 votes
- 3 stars: 103 votes
- 4 stars: 426 votes
- 5 stars: 743 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