From bf2609e264a6903b9b4bfaa42fcc04338caa2abb Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Mon, 13 Jan 2014 21:47:35 +0000 Subject: [PATCH] Add a check that the host compiler is modern to CMake, take 1. This is likely to be reverted and re-applied a few times. The minimum versions we're aiming at: GCC 4.7 Clang 3.1 MSVC 17.0 (Visual Studio 2012) Let me know if something breaks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199145 91177308-0d34-0410-b5e6-96231b3b80d8 --- cmake/config-ix.cmake | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake index dc991a23be0..7b2b005bb9f 100755 --- a/cmake/config-ix.cmake +++ b/cmake/config-ix.cmake @@ -316,6 +316,25 @@ if (LIBXML2_FOUND) endif () endif () +option(LLVM_FORCE_USE_OLD_TOOLCHAIN + "Set to ON if you want to force CMake to use a toolchain older than those supported by LLVM." + OFF) +if(NOT LLVM_FORCE_USE_OLD_TOOLCHAIN) + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7) + message(FATAL_ERROR "Host GCC version must be at least 4.7!") + endif() + elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.1) + message(FATAL_ERROR "Host Clang version must be at least 3.1!") + endif() + elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17.0) + message(FATAL_ERROR "Host Visual Studio must be at least 2012 (MSVC 17.0)") + endif() + endif() +endif() + include(CheckCXXCompilerFlag) check_cxx_compiler_flag("-Wno-variadic-macros" SUPPORTS_NO_VARIADIC_MACROS_FLAG)