Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Modern CMake for C++
  • Table Of Contents Toc
  • Feedback & Rating feedback
Modern CMake for C++

Modern CMake for C++ - Second Edition

By : Rafał Świdziński
4.7 (13)
close
close
Modern CMake for C++

Modern CMake for C++

4.7 (13)
By: Rafał Świdziński

Overview of this book

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.
Table of Contents (21 chapters)
close
close
18
Other Books You May Enjoy
19
Index

Writing projects with C++20 Module support

This book mainly discusses CMake 3.26, but it's worth noting that CMake frequently updates, and version 3.28 was released just before this chapter went to press. If you're using this version or newer, you can access the latest features by setting the cmake_minimum_required() command to VERSION 3.28.0.

On the other hand, if you need to stick with an older version or want to cater to a broader audience who might not have upgraded, you'll need to enable experimental support to use C++20 modules in CMake.

Let's explore how to do that.

Enabling the experimental support in CMake 3.26 and up

Experimental support represents a form of agreement: you, as the developer, acknowledge that this feature is not yet production-ready and should be used solely for testing purposes. To "sign" such an agreement, you'll need to set the CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API variable in the project’s listfile to a specific...

Visually different images
CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Modern CMake for C++
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon