Add C++20 modules support
Hi, I'm not a user of google-cloud-cpp, but I'm tracking the progress of c++20 modules support on https://arewemodulesyet.org/ and this is the issue we are linking to in our table of c++20 modules support.
What component of google-cloud-cpp is this feature request for? For
example, is this related to bigtable (i.e., something in
google/cloud/bigtable), or GCS (i.e., something in google/cloud/storage)?
Component: Build system
Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when
Faster builds
Describe the solution you'd like A clear and concise description of what you want to happen.
Modules are part of C++20 and should greatly increase compile times, see https://en.cppreference.com/w/cpp/language/modules
Cool stuff. Based on your table this is blocked (or at least made more difficult) by:
- TODO: put Abseil link here
- https://github.com/protocolbuffers/protobuf/issues/14109
- https://github.com/grpc/grpc/issues/36497
In addition:
- This project needs to support C++17 until at least 2027,
- Needs to support Bazel (see https://github.com/bazelbuild/bazel/issues/4005)
Any modules support will need to live side-by-side with the includes until those problems are fixed.