title: Treat warnings as errors but ignore warnings in googletest
body: <p>I have a C++ project where I want to use the <code>-Wsign-conversion</code> compile option. As build tool Bazel 0.28.1 is used. My self-written code does not generate warning of that type. The project uses Googletest. Unfortunately, Googletest generates this kind of warning, which breaks my build. Here are my files:</p>
  
  <p><em>.bazelrc</em></p>
  
  <pre><code>build --cxxopt=-Werror           # Every warning is treated as an error.
  build --cxxopt=-std=c++14
  build --cxxopt=-Wsign-conversion # Warn for implicit conversions that may change the sign of an integer value
  </code></pre>
  
  <p><em>gtest.BUILD</em></p>
  
  <pre><code>cc_library(
      name = "main",
      srcs = glob(
          ["src/*.cc"],
          exclude = ["src/gtest-all.cc"]
      ),
      hdrs = glob([
          "include/**/*.h",
          "src/*.h"
      ]),
      copts = ["-Iexternal/gtest/include"],
      linkopts = ["-pthread"],
      visibility = ["//visibility:public"],
  )
  </code></pre>
  
  <p><em>WORKSPACE</em></p>
  
  <pre><code>workspace(name = "GTestDemo")
  
  load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
  
  git_repository(
      name = "googletest",
      remote = "https://github.com/google/googletest",
      #tag = "release-1.8.1",
      commit = "2fe3bd994b3189899d93f1d5a881e725e046fdc2", 
      shallow_since = "1535728917 -0400",
  )
  </code></pre>
  
  <p><em>BUILD</em></p>
  
  <pre><code>cc_test(
      name = "tests",
      srcs = ["test.cpp"],
      copts = ["-Iexternal/gtest/include"],
      deps = [
              "@googletest//:gtest_main",
          ],
  )
  </code></pre>
  
  <p><em>test.cpp</em></p>
  
  <pre><code>#include &lt;iostream&gt;
  
  #include "gtest/gtest.h"
  
  TEST(sample_test_case, sample_test)
  {
      EXPECT_EQ(1, 1);
  }
  </code></pre>
  
  <p>When I try to build the code the following error is shown:</p>
  
  <pre><code>Starting local Bazel server and connecting to it...
  INFO: Analyzed target //:tests (21 packages loaded, 540 targets configured).
  INFO: Found 1 target...
  INFO: Deleting stale sandbox base /mnt/ramdisk/bazel-sandbox.be60b2910864108c1e29c6fce8ad6ea4
  ERROR: /home/admin/.cache/bazel/_bazel_admin/cc9b56275ffa85d1a0fca263d1d708e4/external/googletest/BUILD.bazel:55:1: C++ compilation of rule '@googletest//:gtest' failed (Exit 1) gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer '-std=c++0x' -MD -MF ... (remaining 36 argument(s) skipped)
  
  Use --sandbox_debug to see verbose messages from the sandbox
  external/googletest/googletest/src/gtest-filepath.cc: In member function 'testing::internal::FilePath testing::internal::FilePath::RemoveFileName() const':
  external/googletest/googletest/src/gtest-filepath.cc:168:45: error: conversion to 'std::__cxx11::basic_string&lt;char&gt;::size_type {aka long unsigned int}' from 'long int' may change the sign of the result [-Werror=sign-conversion]
       dir = std::string(c_str(), last_sep + 1 - c_str());
                                  ~~~~~~~~~~~~~^~~~~~~~~
  cc1plus: all warnings being treated as errors
  Target //:tests failed to build
  Use --verbose_failures to see the command lines of failed build steps.
  INFO: Elapsed time: 7.225s, Critical Path: 0.66s
  INFO: 0 processes.
  FAILED: Build did NOT complete successfully
  </code></pre>
  
  <p>Is there a possibility in Bazel to ignore warnings in 3rd-party-library such as googletest?</p>