You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@orc.apache.org by om...@apache.org on 2019/12/06 21:26:28 UTC
[orc] 01/03: ORC-480: [C++] Add an option to succeed despite
warnings
This is an automated email from the ASF dual-hosted git repository.
omalley pushed a commit to branch branch-1.4
in repository https://gitbox.apache.org/repos/asf/orc.git
commit 1c3c5a42df2287cac84e9045ff7cdeed472219c7
Author: Antoine Pitrou <an...@python.org>
AuthorDate: Wed Oct 23 11:22:13 2019 +0200
ORC-480: [C++] Add an option to succeed despite warnings
The extensive warnings that are set are useful for CI and development,
but a nuisance for external packagers and dependent projects which
can encounter failing builds because of warnings in ORC.
Fixes #441
Signed-off-by: Owen O'Malley <om...@apache.org>
---
CMakeLists.txt | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b8a6412..cc45a6b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,6 +24,10 @@ option (BUILD_JAVA
"Include ORC Java library in the build process"
ON)
+option(STOP_BUILD_ON_WARNING
+ "Fail the build on C++ warnings"
+ ON)
+
# Make sure that a build type is selected
if (NOT CMAKE_BUILD_TYPE)
message(STATUS "No build type selected, default to ReleaseWithDebugInfo")
@@ -82,9 +86,18 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set (WARN_FLAGS "${WARN_FLAGS} -Wno-c++98-compat-pedantic -Wno-padded")
set (WARN_FLAGS "${WARN_FLAGS} -Wno-covered-switch-default")
set (WARN_FLAGS "${WARN_FLAGS} -Wno-missing-noreturn -Wno-unknown-pragmas")
- set (WARN_FLAGS "${WARN_FLAGS} -Wconversion -Werror")
+ set (WARN_FLAGS "${WARN_FLAGS} -Wconversion")
+ if (CMAKE_HOST_APPLE AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "11.0")
+ set (WARN_FLAGS "${WARN_FLAGS} -Wno-c++2a-compat")
+ endif ()
+ if (STOP_BUILD_ON_WARNING)
+ set (WARN_FLAGS "${WARN_FLAGS} -Werror")
+ endif ()
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- set (WARN_FLAGS "-Wall -Wno-unknown-pragmas -Wconversion -Werror")
+ set (WARN_FLAGS "-Wall -Wno-unknown-pragmas -Wconversion")
+ if (STOP_BUILD_ON_WARNING)
+ set (WARN_FLAGS "${WARN_FLAGS} -Werror")
+ endif ()
if (CMAKE_CXX_COMPILER_VERSION STREQUAL "" OR
CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7")
set (CXX11_FLAGS "-std=c++0x")