C++20 Modules, CMake, And Shared Libraries
See how to install and consume shared libraries with C++20 modules using CMake. This article starts where most basic tutorials stop!
Material relating to building, testing, packaging and deploying software with the CMake suite of tools.
See how to install and consume shared libraries with C++20 modules using CMake. This article starts where most basic tutorials stop!
Get some clarity on CMake’s quoting rules, as we highlight common pitfalls and offer guidelines for safer use.
This talk highlights key CMake features relevant to C++ cross-platform library authors, digging deeper into platform-specific quirks and conventions.
The previous article discussed an example from Dan Pfeifer’s popular Effective CMake talk. That article highlighted the dangers of trying
In this article, we take a closer look at a particular example from the popular Effective CMake talk by Dan
Using the right methods, generated sources can be seamlessly incorporated into CMake builds with robust dependencies.
Support for test fixtures has been added in CMake 3.7.0, allowing setup and cleanup tasks to be defined for groups of tests. This article explains the new functionality, demonstrates the problems fixtures solve and shows how to effectively combine fixtures with the existing RESOURCE_LOCK and DEPENDS test properties.
Getting ccache to work with CMake is not overly complicated, but the way to do it is not always obvious. This is especially true with Xcode builds. This article demonstrates how to set up a CMake project to use ccache with Unix Makefiles, Ninja or Xcode generators, with Xcode receiving special attention.
CMake can be used to do more than just configure a build, it can also hide platform differences for other tasks such as tool invocation and path/directory handling.
With CMake 3.1, a new command target_sources() was introduced which provides the missing piece among the various target_… commands.