CMake, Tests and Tooling for C/C++ Projects [2024 Edition]
![CMake, Tests and Tooling for C/C++ Projects [2024 Edition]](https://thumbs.comidoc.net/750/4628228_4012_2.jpg)
Why take this course?
🎓 Course Headline: Master Modern CMake Projects, Unit Tests, Continuous Tools, and More with Jan Schaffranek's [2024 Edition] of "CMake, Tests and Tooling for C/C++ Projects"!
🏆 Reviews from Past Students:
- 🌟 "Thank you Jan for this course which allowed me to learn enough about CMake and more. I am very happy." (Cyrille Guetsop Guimapi)
- 🎉 "Very profound and exciting course. Appropriate level and very good speaker." (Felix Maschek)
- 🛠️ "Am now almost through and very satisfied. I was looking for a good overview of (c)makefiles and its possibilities. The course is definitely recommended for this." (Franz Gaar)
- 🚀 "This exciting course provides solid knowledge about CMake and its use with other professional tools." (Frank Behrendt)
- 🧠 "Very comprehensive course for anyone interested in creating and maintaining professional software projects (in this case C++). Besides the basic understanding of Makefiles and the detailed introduction to CMake, best practices are not missed out. Working with GitHub, continuous integration tools, gtest and a benchmarking framework is also included." (Steffen Lang)
Course Description: Are you ready to elevate your C/C++ development skills to the next level? This comprehensive course led by expert instructor Jan Schaffranek is designed to give you a professional foothold in C/C++ development. You'll dive into the intricacies of CMake, the powerful open-source build system, and learn how to harness it for your projects.
What You Will Learn:
Essential Tools and Techniques:
- Software Installation: Learn how to set up the necessary software for Windows, Linux, and Mac environments.
- Compiler Compatibility: Master CMake with GCC, Clang, and MSVC compilers on any platform.
- CMake Tutorial: Get hands-on experience with CMake's libraries, targets, and installation processes.
- Documentation with Doxygen:Discover how to document your code effectively with Doxygen.
- Package Managers: Explore VCPKG and Conan, and understand how to manage dependencies in C/C++ projects.
- Unit Testing with Catch2:Learn to implement and run unit tests with the Catch2 framework.
- Code Coverage & CI Testing:Understand code coverage tools and how they integrate into continuous integration pipelines.
- Tooling Essentials:Get familiar with professional tooling, including LTO (Link Time Optimization), Clang-Tidy, Clang-Format, pre-commit hooks, and cmake-format.
- Sanitizers & Workflow Integration:Learn how to use sanitizers for finding memory leaks, concurrency issues, and more. Get up to speed with a VSCode or VS2022 workflow that supports these tools.
- Debugging & Running Software:Gain insights into efficient debugging and running strategies for C/C++ software.
Join the ranks of proficient C/C++ developers by mastering modern project management with CMake, unit tests, and professional tooling. Enroll now and take a significant step towards becoming an expert in C/C++ development! 🚀
Loading charts...
Comidoc Review
Our Verdict
This CMake course is a valuable resource for those seeking to enhance their C/C++ project workflow with Modern CMake and related tools. While it assumes some foundational knowledge, it excels in providing practical experience and insights through engaging examples. Though some may desire additional depth and slower pacing, the course offers ample opportunities to explore advanced topics like cross-platform compatibility, dependency management, unit testing, and documentation generation.
What We Liked
- The course offers a comprehensive overview of Modern CMake, including command line and GUI usage.
- It covers practical aspects such as project configuration, dependency management, and cross-platform compatibility.
- Students benefit from hands-on experience with external projects via Git, Conan, and VCPKG.
- Additional tools like Clang-Format, Clang-Tidy, Cppcheck, Sanitizer, Cmake-Format, Pre-Commit, VSCode, and VS 2022 are explored.
Potential Drawbacks
- A more thorough introduction to the compilation process, linking build process, and CMake mechanics would be helpful.
- Some learners might prefer a slower pace and more in-depth explanations of certain topics.
- The course assumes some familiarity with C++ and Visual Studio, which could be challenging for beginners.
- Occasionally, the course moves quickly through examples without fully explaining every command or functionality.