If you are interested in the topic of C++ Modules you are probably aware of the fact that the implementation of modules in the three major compilers is progressing at very different speeds: msvc is mature enough to be used with modules almost everywhere, but both clang and gcc are coming along at their own pace. The same is true with build systems that support C++ Modules. MSBuild handles all kinds of module types, but most people are waiting for modules support in CMake to even consider start using them. So, let's dive into the cross-platform modules world and see what you can do today, how you can create modules with CMake, and what kind of experience you can expect.
This is not an introduction into C++ Modules, there are a couple of talks and other material available for people to learn from and familiarize themselves with the fundamental ideas. The talk will focus on the practical aspects of cross-platform support, using common tools.
We will look at Modules in general, at compilers, at build systems, and at the overall experience while visiting real code and building an application.