diff options
Diffstat (limited to 'src/boost/libs/hana/cmake/CheckCxxCompilerSupport.cmake')
-rw-r--r-- | src/boost/libs/hana/cmake/CheckCxxCompilerSupport.cmake | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/src/boost/libs/hana/cmake/CheckCxxCompilerSupport.cmake b/src/boost/libs/hana/cmake/CheckCxxCompilerSupport.cmake new file mode 100644 index 000000000..0b5d72a6a --- /dev/null +++ b/src/boost/libs/hana/cmake/CheckCxxCompilerSupport.cmake @@ -0,0 +1,85 @@ +# Copyright Louis Dionne 2013-2017 +# Copyright Markus J. Weber 2015 +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) +# +# +# This CMake module checks whether the current compiler is supported, and +# provides friendly hints to the user. + +if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") + if (${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "3.9.1") + message(WARNING " + ### You appear to be using Clang ${CMAKE_CXX_COMPILER_VERSION}, which is known + ### to be unable to compile Hana. Consider switching to + ### Clang >= 3.9.1. If it is already installed on your + ### system, you can tell CMake about it with + ### + ### cmake .. -DCMAKE_CXX_COMPILER=/path/to/clang + ") + endif() + + if (MSVC) + if(${MSVC_VERSION} LESS 1900) + message(WARNING " + ### + ### We detected that you were using Clang for Windows with a + ### -fms-compatibility-version parameter lower than 19. Only + ### -fms-compatibility-version=19 and above are supported by + ### Hana for lack of proper C++14 support prior for versions + ### below that. + ### + ### If this diagnostic is wrong and you are not using + ### -fms-compatibility-version, please file an issue at + ### https://github.com/boostorg/hana/issues. + ### + ") + endif() + endif() +elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "AppleClang") + if (${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "6.1.0") + message(WARNING " + ### You appear to be using Apple's Clang ${CMAKE_CXX_COMPILER_VERSION}, which is + ### shipped with Xcode < 6.3. Unfortunately, only Apple's Clang + ### >= 6.1.0 (shipped with Xcode >= 6.3) can compile Hana. + ### You should consider updating to Xcode >= 6.3 (requires Yosemite) + ### or using a non-Apple Clang >= 3.9.1, which can be installed via + ### Homebrew with + ### + ### brew install llvm --with-clang + ### + ### You can then tell CMake to use that non-system Clang with + ### + ### cmake .. -DCMAKE_CXX_COMPILER=/path/to/clang + ") + endif() +elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") + if (${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "6.0.0") + message(WARNING " + ### You appear to be using GCC ${CMAKE_CXX_COMPILER_VERSION}, which is known to be + ### unable to compile Hana. Only GCC >= 6.0.0 is supported. + ### Consider using a more recent GCC or switching to Clang. + ### If a more recent compiler is already installed on your + ### system, you can tell CMake to use it with + ### + ### cmake .. -DCMAKE_CXX_COMPILER=/path/to/compiler + ") + endif() +elseif (MSVC) + message(WARNING " + ### Using the native Microsoft compiler (MSVC) is not supported for lack + ### of proper C++14 support. However, you can install pre-built Clang for + ### Windows binaries (with Visual Studio integration if desired) at + ### http://llvm.org/releases/download.html. + ### + ### More information about how to set up Hana with Clang for Windows is + ### available on Hana's wiki at http://git.io/vBYIp. + ") +else() + message(WARNING " + ### You appear to be using a compiler that is not yet tested with Hana. + ### Please tell us whether it successfully compiles or if and how it + ### fails by opening an issue at https://github.com/boostorg/hana/issues. + ### Thanks! + ") +endif() |