google-cloud-cpp icon indicating copy to clipboard operation
google-cloud-cpp copied to clipboard

Add C++20 modules support

Open kelteseth opened this issue 1 year ago • 1 comments

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

kelteseth avatar May 01 '24 15:05 kelteseth

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.

coryan avatar May 01 '24 16:05 coryan