# Bazel configurations

## Host platform

build --compilation_mode=opt
build --copt="-Werror=return-type"
build --cxxopt=-std=c++17
build --incompatible_default_to_explicit_init_py  # for vulp imports

coverage --combined_report=lcov
coverage --compilation_mode=opt
coverage --copt="-Werror=return-type"
coverage --cxxopt=-std=c++17
coverage --instrument_test_targets

test --compilation_mode=opt
test --copt="-Werror=return-type"
test --cxxopt=-std=c++17
test --incompatible_default_to_explicit_init_py  # for vulp imports
test --test_output=errors
test --test_tag_filters=-lint

## Linter

# Usage: bazel test --config lint //...
test:lint --build_tests_only
test:lint --test_tag_filters=lint

## Target platform: 32-bit Raspberry Pi OS

build:pi32 --compilation_mode=opt
build:pi32 --compiler=clang
build:pi32 --cpu=armeabihf
build:pi32 --crosstool_top=@rpi_bazel//tools/cc_toolchain:toolchain

test:pi32 --compilation_mode=opt
test:pi32 --compiler=clang
test:pi32 --cpu=armeabihf
test:pi32 --crosstool_top=@rpi_bazel//tools/cc_toolchain:toolchain
test:pi32 --test_output=errors

# Target platform: 64-bit Raspberry Pi OS

build:pi64 --compilation_mode=opt
build:pi64 --compiler=clang
build:pi64 --cpu=aarch64
build:pi64 --crosstool_top=@rpi_bazel//tools/cc_toolchain:toolchain

test:pi64 --compilation_mode=opt
test:pi64 --compiler=clang
test:pi64 --cpu=aarch64
test:pi64 --crosstool_top=@rpi_bazel//tools/cc_toolchain:toolchain
test:pi64 --test_output=errors
