From af64ffcaf5c1b5faefd333fb11adb99c57397a78 Mon Sep 17 00:00:00 2001 From: wmayer Date: Fri, 20 Oct 2017 16:21:55 +0200 Subject: [PATCH] check for clang version to disable warning --- CMakeLists.txt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 73c06e430f..5cc7af75ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,7 +106,18 @@ endif(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX) if(CMAKE_COMPILER_IS_CLANGXX) # Disable warning about potentially uninstantiated static members # because it leads to a lot of false-positives. - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-undefined-var-template") + # + # https://en.wikipedia.org/wiki/Xcode#Latest_versions + if (APPLE) + if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-undefined-var-template") + endif() + elseif (UNIX) + if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.9) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-undefined-var-template") + endif() + endif() + # older boost.preprocessor turn off variadics for clang add_definitions(-DBOOST_PP_VARIADICS=1) message(STATUS "Force BOOST_PP_VARIADICS=1 for clang")