diff --git a/bazel/envoy_build_system.bzl b/bazel/envoy_build_system.bzl index 1fd57dfd3f825..ff04709d9ac0d 100644 --- a/bazel/envoy_build_system.bzl +++ b/bazel/envoy_build_system.bzl @@ -1,5 +1,6 @@ ENVOY_COPTS = [ "-fno-omit-frame-pointer", + "-fmax-errors=3", "-Wall", "-Wextra", "-Werror", diff --git a/ci/build_setup.sh b/ci/build_setup.sh index c479005472f34..b51cd96e3ed6c 100755 --- a/ci/build_setup.sh +++ b/ci/build_setup.sh @@ -13,15 +13,15 @@ export PPROF_PATH=/thirdparty_build/bin/pprof NUM_CPUS=`grep -c ^processor /proc/cpuinfo` if [[ "$1" == "coverage" ]]; then - EXTRA_CMAKE_FLAGS="-DENVOY_CODE_COVERAGE:BOOL=ON" + EXTRA_CMAKE_FLAGS+=" -DENVOY_CODE_COVERAGE:BOOL=ON" elif [[ "$1" == "asan" ]]; then - EXTRA_CMAKE_FLAGS="-DENVOY_SANITIZE:BOOL=ON -DENVOY_DEBUG:BOOL=OFF" + EXTRA_CMAKE_FLAGS+=" -DENVOY_SANITIZE:BOOL=ON -DENVOY_DEBUG:BOOL=OFF" elif [[ "$1" == "debug" ]]; then - EXTRA_CMAKE_FLAGS="-DENVOY_DEBUG:BOOL=ON" + EXTRA_CMAKE_FLAGS+=" -DENVOY_DEBUG:BOOL=ON" elif [[ "$1" == "server_only" ]]; then - EXTRA_CMAKE_FLAGS="-DENVOY_DEBUG:BOOL=OFF -DENVOY_STRIP:BOOL=ON" + EXTRA_CMAKE_FLAGS+=" -DENVOY_DEBUG:BOOL=OFF -DENVOY_STRIP:BOOL=ON" else - EXTRA_CMAKE_FLAGS="-DENVOY_DEBUG:BOOL=OFF" + EXTRA_CMAKE_FLAGS+=" -DENVOY_DEBUG:BOOL=OFF" fi mkdir -p build_"$1" diff --git a/common.cmake b/common.cmake index 2b69c4d92ff91..d17ae92eb8310 100644 --- a/common.cmake +++ b/common.cmake @@ -1,5 +1,10 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ggdb3 -fno-omit-frame-pointer -Wall -Wextra -Werror -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast -std=c++0x") +option(ENVOY_LIMIT_ERROR_LOG "limit the number of error log lines from compiler" OFF) +if (ENVOY_LIMIT_ERROR_LOG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmax-errors=3") +endif() + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9") message(FATAL_ERROR "gcc >= 4.9 required for regex support")