By the end of this book, you'll be able to use CMake confidently on a professional level. Finally, you'll get to grips with exporting, installing, and packaging for internal and external purposes. You'll understand how to use external dependencies in your project - third-party libraries, testing frameworks, program analysis tools, and documentation generators. As you progress, you'll learn how to compile and link executables and libraries, how those processes work, and how to optimize builds in CMake for the best results. The book also focuses on the structure of source directories, building targets, and packages. You'll not only learn how to use the CMake language in CMake projects, but also discover what makes them maintainable, elegant, and clean. Modern CMake for C++ is an end-to-end guide to the automatization of complex tasks, including building, testing, and packaging. This book offers a simpler, more comprehensive, experience as it treats the subject of building C++ solutions holistically. At the same time, most online resources offer limited explanation, while also lacking the proper context and structure. Developers researching the subject have difficulty determining which advice is up to date and which approaches have already been replaced by easier, better practices. Basic C++ and general programming knowledge will help you to better understand the examples covered in the book.Summary: Write comprehensive, professional-standard CMake projects and ensure the quality and simplicity of your solutions Key Features Understand and automate compilation and linking with CMake Manage internal and external dependencies easily Add quality checks and tests as an inherent step for your builds Book Description Creating top-notch software is an extremely difficult undertaking. This book is for software engineers and build system maintainers working with C or C++ on a regular basis and trying to use CMake to better effect for their everyday tasks. Get started with crafting a well-defined and portable build environment for your project.Discover how you can easily use different toolchains with CMake.Get hands-on with performing cross-platform builds.Integrate various tools for static analysis, linting, formatting, and documentation into a CMake project.Modularize and reuse CMake code across projects.Get to grips with architecting a well-structured CMake project.All this is tailored to modern development workflows that make heavy use of CI/CD infrastructure.īy the end of this CMake book, you'll be able to set up and maintain complex software projects using CMake in the best way possible. And since writing code is only half of the work, the book also guides you in creating installers and packaging and distributing your software. You'll understand the steps to integrate and automate various tools for improving the overall software quality, such as testing frameworks, fuzzers, and automatic generation of documentation. You'll not only get to grips with the basics but also work through real-world examples of structuring large and complex maintainable projects and creating builds that run in any programming environment. This book focuses on helping you to tie things together and create clean and maintainable projects with CMake. While the CMake documentation is comprehensive, it is often hard to find good examples of how things fit together, especially since there are lots of dirty hacks and obsolete solutions available on the internet. This book cuts to the core and covers the most common tasks that can be accomplished with CMake without taking an academic approach. Explore tools and techniques to get the most out of your CMake projectĬMake is a powerful tool used to perform a wide variety of tasks, so finding a good starting point for learning CMake is difficult.Discover how to properly create and maintain well-structured CMake projects.Understand what CMake is, how it works, and how to interact with it.Explore a compendium of tips, tricks, and techniques for leveraging CMake and empowering your software development workflow.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |