make cpp-*C++ commands
C++ targets run the canonical CMake toolchain in Docker and expose Debug, Release and sanitizer matrices.
When to use
Use this reference when generating, reviewing or operating a Service Architect project.
Behavior
- Root targets build all C++ services with shared locked BuildKit and ccache volumes.
- Standalone service targets provide the same build modes for an extracted service repository.
C++ workspace commands
Language-specific root targets.
make cpp-buildWorkspaceBuild all C++ services in Docker.
make cpp-testWorkspaceBuild and run all C++ unit tests.
make cpp-genWorkspaceGenerate C++ protobuf and OpenAPI code through CMake.
make cpp-lintWorkspaceRun generated clang-format and clang-tidy checks.
make cpp-formatWorkspaceFormat C++ sources in Docker.
make cpp-release-buildWorkspaceBuild optimized C++ services.
make cpp-release-testWorkspaceBuild and test optimized services.
make cpp-release-upWorkspaceStart services built from CMake Release outputs.
make cpp-asan-testWorkspaceRun tests with AddressSanitizer and UndefinedBehaviorSanitizer.
make cpp-tsan-testWorkspaceRun tests with ThreadSanitizer.
make cpp-integration-testWorkspaceRun the generated HTTP/gRPC/Kafka integration scenario.
make cpp-docker-buildWorkspaceBuild reusable development or minimal runtime images according to the selected target.
make cpp-packageWorkspaceCreate standalone service repositories under dist/.
make cpp-cleanWorkspaceRemove C++ build and ccache volumes.
make cpp-toolsWorkspaceVerify Docker availability for the pinned toolchain.
Standalone C++ service commands
Targets inside a packaged C++ service.
make build / testServiceConfigure/build with CMake, then optionally run tests.
make release-build / release-testServiceBuild or test the optimized configuration.
make release-upServiceBuild and start the optimized service.
make asan-test / tsan-testServiceRun sanitizer-specific test images.
make lint / fmtServiceCheck or rewrite C++ formatting; lint also runs clang-tidy targets.
make docker-build / docker-upServiceBuild the reusable toolchain/service image and start standalone Compose.
make docker-down / docker-cleanServiceStop the service, optionally removing volumes and CMake outputs.
make cleanServiceRemove CMake build artifacts.
make helpServicePrint the standalone command list.
C++ workflow
make cpp-gen
make cpp-test
make cpp-asan-test
make cpp-release-build
make cpp-package