Price: $49.99 - $37.49
(as of Feb 27, 2025 13:59:00 UTC – Details)
Gain proficiency in CMake and unlock the complete potential of C++ to develop exceptional projects
Purchase of the print or Kindle book includes a free eBook in the PDF format
Key FeaturesGet to grips with CMake and take your C++ development skills to enterprise standardsUse hands-on exercises and self-assessment questions to lock-in your learningUnderstand how to build in an array of quality checks and tests for robust codeBook Description
Modern CMake for C++ isn’t just another reference book, or a repackaging of the documentation, but a blueprint to bridging the gap between learning C++ and being able to use it in a professional setting. It’s an end-to-end guide to the automation of complex tasks, including building, testing, and packaging software.
This second edition is significantly rewritten, restructured and refreshed with latest additions to CMake, such as support of C++20 Modules.
In this book, you’ll not only learn how to use the CMake language in CMake projects but also discover how to make those projects maintainable, elegant, and clean. As you progress, you’ll dive into the structure of source directories, building targets, and packages, all while learning how to compile and link executables and libraries. You’ll also gain a deeper understanding of how those processes work and how to optimize builds in CMake for the best results. You’ll discover how to use external dependencies in your project – third-party libraries, testing frameworks, program analysis tools, and documentation generators. Finally, you’ll gain profi ciency in exporting, installing, and packaging for internal and external purposes.
By the end of this book, you’ll be able to use CMake confi dently at a professional level.
What you will learnUnderstand best practices to build ++ codeGain practical knowledge of the CMake languageGuarantee code quality with tests and static and dynamic analysisDiscover how to manage, discover, download, and link dependencies with CMakeBuild solutions that can be reused and maintained in the long termUnderstand how to optimize build artifacts and the build processProgram modern CMake and manage your build processesAcquire expertise in complex subjects such as CMake presetsWho this book is for
The book is for build engineers and software developers with knowledge of C/C++ programming who are looking to learn CMake to automate the process of building small and large software solutions. If you’re just getting started with CMake, a long-time GNU Make user, or simply looking to brush up on the latest best practices, this book is for you.
Table of ContentsFirst Steps with CMakeThe CMake LanguageUsing CMake in Popular IDEsSetting Up Your First CMake ProjectWorking with TargetsUsing Generator ExpressionsCompiling C++ Sources with CMakeLinking Executables and LibrariesManaging Dependencies in CMakeUsing the C++20 ModulesTesting FrameworksProgram Analysis ToolsGenerating DocumentationInstalling and PackagingCreating Your Professional ProjectWriting CMake PresetsAppendix
From the Publisher
What’s new in this edition?
This edition has been thoroughly rewritten to simplify and reorder the content to offer you the best learning experience. The chapters have been updated to include changes in CMake from versions 3.20 to 3.26.
This edition also includes three completely new chapters on C++20 modules, IDEs supported by CMake, and writing CMake presets. Cutting-edge best practices have been newly integrated throughout the book, while retaining legacy methods that are still in use in the industry.
What’s your favorite part in the book?
This book carefully covers all subjects relevant to C++ projects, but one part stands out—automated testing with CMake. C++ projects require certain considerations when testing, and this book addresses them thoroughly. You will learn how to structure the project files, lay out and configure targets for smooth automated testing, and enable additional program analysis using a non-obstructive approach.
How does this book differ from other books on CMake and C++?
It is pragmatic. This book explains how fundamental principles are applied for practical purposes in an opinionated manner. Unlike other books, it covers all aspects of building real-life projects—how to structure, build, test, package, document, and install your solution in a way that makes all pieces of this complex process fit together coherently and enables the growth of the project.
How does the book help build engineers become proficient in CMake and unlock the true potential of C++?
Tools should solve your problems, not generate unnecessary boilerplate and complexity. CMake is the perfect solution for many build engineers, but it is often explained the wrong way. This book will first show you how users approach CMake and then provide you with enough basics of the language to prevent you from making simple mistakes. Now the real fun can begin—we will tackle all the aspects of the software development lifecycle with practical examples, just like in the real world. You’ll not only understand how to perform testing, program analysis, debugging, packaging, and documentation, but also see why these are important and how they affect all the other elements of the project.
Publisher : Packt Publishing – ebooks Account; 2nd ed. edition (May 28, 2024)
Language : English
Paperback : 502 pages
ISBN-10 : 1805121804
ISBN-13 : 978-1805121800
Item Weight : 1.91 pounds
Dimensions : 0.93 x 7.5 x 9.25 inches