Modern CMake for C++: Effortlessly build cutting-edge C++ code and deliver high-quality solutions - Tapa blanda

Świdziński, Rafał

 
9781805121800: Modern CMake for C++: Effortlessly build cutting-edge C++ code and deliver high-quality solutions

Sinopsis

Gain proficiency in CMake and unlock the complete potential of C++ to develop exceptional projects

Get With Your Book: PDF Copy, AI Assistant, and Next-Gen Reader Free

Key Features

  • Get to grips with CMake and take your C++ development skills to enterprise standards
  • Use hands-on exercises and self-assessment questions to lock-in your learning
  • Understand how to build in an array of quality checks and tests for robust code

Book 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 learn

  • Understand best practices to build ++ code
  • Gain practical knowledge of the CMake language
  • Guarantee code quality with tests and static and dynamic analysis
  • Discover how to manage, discover, download, and link dependencies with CMake
  • Build solutions that can be reused and maintained in the long term
  • Understand how to optimize build artifacts and the build process
  • Program modern CMake and manage your build processes
  • Acquire expertise in complex subjects such as CMake presets

Who 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 Contents

  1. First Steps with CMake
  2. The CMake Language
  3. Using CMake in Popular IDEs
  4. Setting Up Your First CMake Project
  5. Working with Targets
  6. Using Generator Expressions
  7. Compiling C++ Sources with CMake
  8. Linking Executables and Libraries
  9. Managing Dependencies in CMake
  10. Using the C++20 Modules
  11. Testing Frameworks
  12. Program Analysis Tools
  13. Generating Documentation
  14. Installing and Packaging
  15. Creating Your Professional Project
  16. Writing CMake Presets
  17. Appendix

"Sinopsis" puede pertenecer a otra edición de este libro.

Acerca del autor

Rafał Świdziński works as a staff engineer at Google. With over 10 years of professional experience as a full stack developer, he has been able to experiment with a vast multitude of programming languages and technologies. During this time, he has been building software under his own company and for corporations including Cisco Meraki, Amazon, and Ericsson.Originally from Łódź, Poland, he now lives in London, UK, from where he runs a YouTube channel, "Smok," discussing topics related to software development. He tackles technical problems, including real-life and work-related challenges encountered by many people in the field. Throughout his work, he explains the technical concepts in detail and demystifies the art and science behind the role of software engineer. His primary focus is on high-quality code and the craftsmanship of programming.

"Sobre este título" puede pertenecer a otra edición de este libro.