QUICKSTEP-65 Fix Quickstep build failure on Mac OSX 10.12 by turning off deprecation errors
Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/6ae0cdd3 Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/6ae0cdd3 Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/6ae0cdd3 Branch: refs/heads/exact-filter Commit: 6ae0cdd3d5db40febc98be00ce94baeed31ba680 Parents: b949c50 Author: Saket Saurabh <ssaur...@cs.wisc.edu> Authored: Tue Dec 6 09:53:57 2016 -0600 Committer: Saket Saurabh <ssaur...@cs.wisc.edu> Committed: Tue Dec 6 10:05:42 2016 -0600 ---------------------------------------------------------------------- CMakeLists.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/6ae0cdd3/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/CMakeLists.txt b/CMakeLists.txt index 391cb26..4dcc56a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -291,6 +291,25 @@ else() endif() endif() + # OSX 10.12 has deprecated certain system-level APIs which causes protobuf & glog + # builds to fail. As a short-term workaround for now, we turn off deprecated + # warnings so that they do not cause build failures anymore. + # TODO: Remove this workaround by fixing the protobuf_cmake and glog_cmake. + if (${CMAKE_SYSTEM} MATCHES "Darwin-16.1.0") + if (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") + CHECK_CXX_COMPILER_FLAG("-Wno-error=deprecated-declarations" COMPILER_HAS_WNO_DEPRECATED) + if (COMPILER_HAS_WNO_DEPRECATED) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=deprecated-declarations") + endif() + endif() + if(CMAKE_COMPILER_IS_GNUCXX) + CHECK_CXX_COMPILER_FLAG("-Wno-deprecated-declarations" COMPILER_HAS_WNO_DEPRECATED) + if (COMPILER_HAS_WNO_DEPRECATED) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations") + endif() + endif() + endif() + # One of the protobuf headers includes a nested anonymous union within # another anonymous type. Ordinarily we work around this by compiling the # protobuf libraries themselves with "-Wno-nested-anon-types" and including