12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- # 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()
|