Skip to content

Commit b7fd75c

Browse files
pitrouomalley
authored andcommitted
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 apache#441 Signed-off-by: Owen O'Malley <[email protected]>
1 parent 3aa9ab6 commit b7fd75c

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

CMakeLists.txt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ option(INSTALL_VENDORED_LIBS
4949
"Install vendored thirdparty libraries along with liborc"
5050
ON)
5151

52+
option(STOP_BUILD_ON_WARNING
53+
"Fail the build on C++ warnings"
54+
ON)
55+
5256
# Make sure that a build type is selected
5357
if (NOT CMAKE_BUILD_TYPE)
5458
message(STATUS "No build type selected, default to ReleaseWithDebugInfo")
@@ -85,9 +89,14 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
8589
if (CMAKE_HOST_APPLE AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "11.0")
8690
set (WARN_FLAGS "${WARN_FLAGS} -Wno-c++2a-compat")
8791
endif ()
88-
set (WARN_FLAGS "${WARN_FLAGS} -Werror")
92+
if (STOP_BUILD_ON_WARNING)
93+
set (WARN_FLAGS "${WARN_FLAGS} -Werror")
94+
endif ()
8995
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
90-
set (WARN_FLAGS "-Wall -Wno-unknown-pragmas -Wconversion -Werror")
96+
set (WARN_FLAGS "-Wall -Wno-unknown-pragmas -Wconversion")
97+
if (STOP_BUILD_ON_WARNING)
98+
set (WARN_FLAGS "${WARN_FLAGS} -Werror")
99+
endif ()
91100
if (CMAKE_CXX_COMPILER_VERSION STREQUAL "" OR
92101
CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7")
93102
set (CXX11_FLAGS "-std=c++0x")

0 commit comments

Comments
 (0)