![]() ![]() The heavy focus on production-scale issues and functionality makes this one of the most valuable chapters of the book. Project organization is also covered in detail, providing a solid foundation for production-scale projects.Ī separate chapter covers various aspects of build performance. Examples of this include a deep coverage of CMake’s extensive testing support, and the important topic of simplifying a developer’s workflow using CMake presets. Other aspects that feature prominently in this part of the book include project integrity, ease of development, maintainability and onboarding new developers. These chapters discuss CMake features for finding and providing dependencies, making a project consumable by others, how to robustly prepare packages in various formats and how to follow common platform conventions. It tackles head on one of the more difficult tasks faced by developers, that of managing the complexities of inter-project dependencies. It encourages looking beyond the project in isolation, seeing it from different perspectives and use cases. The final part of the book expands the reader’s focus. They also draw attention to a number of common but discouraged practices and explain why they should be avoided. The many recommended practices in this part of the book demonstrate how developers can get the most out of CMake’s extensive feature set. Topics covered include advanced linking techniques, how to structure libraries, managing versioning across platforms, and an in-depth treatment of Apple-specific technologies such as bundles, frameworks and code signing. ![]() Some chapters go even deeper than discussing CMake alone. Much of the material addresses everyday problems frequently faced by developers, while many of the chapters cover features that are new or improved in the 3.x release series. The middle part of the book goes into much greater detail about various key areas and has a more task-focused flavor. These chapters not only present the key concepts, they also shape the reader’s understanding of how CMake can be used most effectively and how to avoid common pitfalls. These early chapters are arranged to get the reader up and running quickly with a basic project, then progressively build up an understanding of CMake’s core concepts in manageable, structured units. The first part of the book introduces each of the fundamental areas of CMake. Complementing that, the chapter structure also allows the more experienced user to quickly find and focus in on a particular area of interest. As a CMake tutorial, it follows a logical sequence from basic concepts through to more advanced topics. Therefore, a key motivation for this book is to provide developers with an up-to-date, practical guide to learning CMake, paying particular attention to the latest best practices. In recent years, the 3.x release series has brought with it a whole new set of powerful capabilities and best practices, leading to the coining of the term Modern CMake. Its maturity, breadth of features, broad platform support and toolchain flexibility have led to its widespread adoption among the software development community. The latest version of the book is the 15th Edition, which covers up to CMake 3.26.ĬMake is a very popular tool for defining how projects should be built, tested and packaged. Every purchase includes access to all future editions at no extra cost, so you can always stay up-to-date. Regular UpdatesĪ new edition of the book is typically published sometime after each CMake feature release. Every chapter ends with a Recommended Practices section highlighting the most important points. Read them in order as a structured CMake tutorial, or jump to specific chapters to focus on a particular topic or solve a specific problem. Flexible LearningĮach chapter focuses on a particular theme or fundamental concept. Important more advanced topics like improving build performance are also covered. Topics cover the complete software pipeline, from the very initial setup of a project through to testing, packaging and integration with other projects. It contains hundreds of pages of real-world advice, best practices and insights gained from production projects and interaction with the CMake community. Professional CMake: A Practical Guide is the handbook for every CMake user, from beginner to seasoned veteran. ![]()
0 Comments
Leave a Reply. |