diff options
author | Chris Mumford <cmumford@chromium.org> | 2020-12-15 11:02:17 -0800 |
---|---|---|
committer | Chris Mumford <cmumford@chromium.org> | 2020-12-15 11:02:17 -0800 |
commit | 955a5dd1b3f632394e3fe6bbd6a3442af0795e25 (patch) | |
tree | c835760fb787d73f5c80d93d06c40920e270b025 | |
parent | 42d1dd7ea3f7a4bf6f91fb6e197715ec89d82e8f (diff) | |
download | snappy-git-955a5dd1b3f632394e3fe6bbd6a3442af0795e25.tar.gz |
Building with `-Werror` only with clang.
gcc was unable to inline a function call, which caused a build
failure due to `-Wall -Werror`.
The build error was:
```
../snappy.cc:292:76: error: ignoring attributes on template argument ā__m128iā [-Werror=ignored-attributes]
292 | static inline std::pair<__m128i /* pattern */, __m128i /* reshuffle_mask */>
| ^
../snappy.cc:292:76: error: ignoring attributes on template argument ā__m128iā [-Werror=ignored-attributes]
cc1plus: all warnings being treated as errors
```
-rw-r--r-- | CMakeLists.txt | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 868b5f0..48ae929 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,10 +66,13 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra") endif(NOT CMAKE_CXX_FLAGS MATCHES "-Wextra") - # Use -Werror for clang and gcc. - if(NOT CMAKE_CXX_FLAGS MATCHES "-Werror") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") - endif(NOT CMAKE_CXX_FLAGS MATCHES "-Werror") + # Use -Werror for clang only. + # There are many clang compiler ID's, but only one gcc. + if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "GCC") + if(NOT CMAKE_CXX_FLAGS MATCHES "-Werror") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") + endif(NOT CMAKE_CXX_FLAGS MATCHES "-Werror") + endif(CMAKE_CXX_COMPILER_ID STREQUAL "GCC") # Disable C++ exceptions. string(REGEX REPLACE "-fexceptions" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") |