SAService Architect Back to designer
SAService ArchitectDocumentation
Code generation 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.

CommandScopeDescription
make cpp-buildWorkspace

Build all C++ services in Docker.

make cpp-testWorkspace

Build and run all C++ unit tests.

make cpp-genWorkspace

Generate C++ protobuf and OpenAPI code through CMake.

make cpp-lintWorkspace

Run generated clang-format and clang-tidy checks.

make cpp-formatWorkspace

Format C++ sources in Docker.

make cpp-release-buildWorkspace

Build optimized C++ services.

make cpp-release-testWorkspace

Build and test optimized services.

make cpp-release-upWorkspace

Start services built from CMake Release outputs.

make cpp-asan-testWorkspace

Run tests with AddressSanitizer and UndefinedBehaviorSanitizer.

make cpp-tsan-testWorkspace

Run tests with ThreadSanitizer.

make cpp-integration-testWorkspace

Run the generated HTTP/gRPC/Kafka integration scenario.

make cpp-docker-buildWorkspace

Build reusable development or minimal runtime images according to the selected target.

make cpp-packageWorkspace

Create standalone service repositories under dist/.

make cpp-cleanWorkspace

Remove C++ build and ccache volumes.

make cpp-toolsWorkspace

Verify Docker availability for the pinned toolchain.

Standalone C++ service commands

Targets inside a packaged C++ service.

CommandScopeDescription
make build / testService

Configure/build with CMake, then optionally run tests.

make release-build / release-testService

Build or test the optimized configuration.

make release-upService

Build and start the optimized service.

make asan-test / tsan-testService

Run sanitizer-specific test images.

make lint / fmtService

Check or rewrite C++ formatting; lint also runs clang-tidy targets.

make docker-build / docker-upService

Build the reusable toolchain/service image and start standalone Compose.

make docker-down / docker-cleanService

Stop the service, optionally removing volumes and CMake outputs.

make cleanService

Remove CMake build artifacts.

make helpService

Print the standalone command list.

C++ workflow

make cpp-gen
make cpp-test
make cpp-asan-test
make cpp-release-build
make cpp-package