mirror of https://github.com/grpc/grpc.git
[CI] Added a gRPC_BUILD_TESTS guard to third_party protos (#38179)
When not having submodules under the `third_party` directory, CMake throws an error in building gRPC because it couldn't find proto files in those directories even though those files are only used for tests.
```
CMake Error at CMakeLists.txt:611 (file):
file COPY cannot find
"/root/grpc/third_party/googleapis/google/api/annotations.proto": No such
file or directory.
Call Stack (most recent call first):
CMakeLists.txt:1184 (protobuf_generate_grpc_cpp_with_import_path_correction)
```
There's a interesting quirk in the CMake build process:
- Empty `third_party/googleapis` directory: Build fails.
- No `third_party/googleapis` directory: Build succeeds.
This inconsistency went undetected by our distrib-test because it completely removes the third_party/googleapis directory. However, Cloud C++ encountered this issue because it downloads a tarball that creates an empty third_party/googleapis directory.
This fix hides those proto targets when `gRPC_BUILD_TESTS` is not turned on to not run ino this problem.
Closes #38179
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38179 from veblush:cmake-proto b8c9ca965d
PiperOrigin-RevId: 699286689
pull/38183/head^2
parent
7826ddca68
commit
cfda657592
2 changed files with 19 additions and 0 deletions
Loading…
Reference in new issue