This project includes support for:
Frameworks:
- Testing with Google Test
- Mocking with Google Mock
- Logging with Google glog
- Benchmarking with Google Benchmark
- Remote Procedure Call (RPC) with gRPC
Libraries:
Please refer to the official Bazel installation guide for your platform:
git clone git@github.com:IvoBrandao/template-bazel-project.git
bazel build //app:main
bazel run //app:main
bazel test //app:main
# or for a specific platform:
bazel run //app:main --platforms=//platforms:windows_platform
bazel run //app:main --platforms=//platforms:macos_platform
bazel run //app:main --platforms=//platforms:ubuntu_platform
To run tests for specific libraries (e.g., pkg library), use:
bazel test //lib/pkg:pkg_test --test_output=all
The project uses Bazel’s module system (MODULE.bazel) to manage dependencies. The following libraries are included:
- bazel_skylib for Bazel utility functions.
- rules_platform for platform configurations.
- rules_cc for C++ build rules.
- rules_testing for testing utilities.
- Google Test for unit testing.
- gRPC for RPC support.
- Protocol Buffers for message serialization.
- Abseil C++ for common utility libraries.
- glog for logging.
- Google Benchmark for benchmarking.