From 6548370c55c5cba4a94b8ee3f4e404d0cd5f6328 Mon Sep 17 00:00:00 2001 From: Harvey Tuch Date: Wed, 22 Mar 2017 10:48:44 -0400 Subject: [PATCH 1/2] Limit error spew from compiler. It's a pain scrolling up through pages of errors (e.g. when mocks are messed up) to find the first error in a terminal, there's diminishing returns past the first few error messages. --- bazel/envoy_build_system.bzl | 1 + common.cmake | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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/common.cmake b/common.cmake index 2b69c4d92ff91..d2c8cea53d137 100644 --- a/common.cmake +++ b/common.cmake @@ -1,4 +1,4 @@ -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") +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 -fmax-errors=3") if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9") From 3fc6c63ea5b478d4644bacfd24be31cf9caa6535 Mon Sep 17 00:00:00 2001 From: Harvey Tuch Date: Wed, 22 Mar 2017 14:10:17 -0400 Subject: [PATCH 2/2] Make limit opt-in for cmake. --- ci/build_setup.sh | 10 +++++----- common.cmake | 7 ++++++- 2 files changed, 11 insertions(+), 6 deletions(-) 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 d2c8cea53d137..d17ae92eb8310 100644 --- a/common.cmake +++ b/common.cmake @@ -1,4 +1,9 @@ -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 -fmax-errors=3") +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")