# Copyright 2017-2019 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
string(REGEX MATCHALL "[0-9]+" _BOOST_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION})
list(GET _BOOST_COMPILER_VERSION 0 _BOOST_COMPILER_VERSION_MAJOR)
list(GET _BOOST_COMPILER_VERSION 1 _BOOST_COMPILER_VERSION_MINOR)
if(BORLAND)
# Borland is unversioned
set(BOOST_DETECTED_TOOLSET "bcb")
set(_BOOST_COMPILER_VERSION_MAJOR)
set(_BOOST_COMPILER_VERSION_MINOR)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
set(BOOST_DETECTED_TOOLSET "clang-darwin")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
if(MSVC)
set(BOOST_DETECTED_TOOLSET "clangw")
else()
set(BOOST_DETECTED_TOOLSET "clang")
endif()
if(_BOOST_COMPILER_VERSION_MAJOR GREATER 3)
set(_BOOST_COMPILER_VERSION_MINOR)
endif()
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(WIN32)
# Intel-Win is unversioned
set(BOOST_DETECTED_TOOLSET "iw")
set(_BOOST_COMPILER_VERSION_MAJOR)
set(_BOOST_COMPILER_VERSION_MINOR)
else()
set(BOOST_DETECTED_TOOLSET "il")
endif()
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MIPSpro")
set(BOOST_DETECTED_TOOLSET "mp")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
set(BOOST_DETECTED_TOOLSET "sun")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "IBM XL")
set(BOOST_DETECTED_TOOLSET "xlc")
elseif(MINGW)
set(BOOST_DETECTED_TOOLSET "mgw")
if(_BOOST_COMPILER_VERSION_MAJOR GREATER 4)
set(_BOOST_COMPILER_VERSION_MINOR)
endif()
elseif(CMAKE_COMPILER_IS_GNUCXX)
if(APPLE)
set(BOOST_DETECTED_TOOLSET "xgcc")
else()
set(BOOST_DETECTED_TOOLSET "gcc")
endif()
if(_BOOST_COMPILER_VERSION_MAJOR GREATER 4)
set(_BOOST_COMPILER_VERSION_MINOR)
endif()
elseif(MSVC)
if((MSVC_VERSION GREATER 1919) AND (MSVC_VERSION LESS 1930))
set(BOOST_DETECTED_TOOLSET "vc142")
elseif((MSVC_VERSION GREATER 1909) AND (MSVC_VERSION LESS 1920))
set(BOOST_DETECTED_TOOLSET "vc141")
elseif(MSVC_VERSION EQUAL 1900)
set(BOOST_DETECTED_TOOLSET "vc140")
elseif(MSVC_VERSION EQUAL 1800)
set(BOOST_DETECTED_TOOLSET "vc120")
elseif(MSVC_VERSION EQUAL 1700)
set(BOOST_DETECTED_TOOLSET "vc110")
elseif(MSVC_VERSION EQUAL 1600)
set(BOOST_DETECTED_TOOLSET "vc100")
elseif(MSVC_VERSION EQUAL 1500)
set(BOOST_DETECTED_TOOLSET "vc90")
elseif(MSVC_VERSION EQUAL 1400)
set(BOOST_DETECTED_TOOLSET "vc80")
elseif(MSVC_VERSION EQUAL 1310)
set(BOOST_DETECTED_TOOLSET "vc71")
elseif(MSVC_VERSION EQUAL 1300)
set(BOOST_DETECTED_TOOLSET "vc7")
elseif(MSVC_VERSION EQUAL 1200)
set(BOOST_DETECTED_TOOLSET "vc6")
endif()
set(_BOOST_COMPILER_VERSION_MAJOR)
set(_BOOST_COMPILER_VERSION_MINOR)
endif()
# Add version
if(BOOST_DETECTED_TOOLSET)
set(BOOST_DETECTED_TOOLSET ${BOOST_DETECTED_TOOLSET}${_BOOST_COMPILER_VERSION_MAJOR}${_BOOST_COMPILER_VERSION_MINOR})
endif()
unset(_BOOST_COMPILER_VERSION)
unset(_BOOST_COMPILER_VERSION_MAJOR)
unset(_BOOST_COMPILER_VERSION_MINOR)
if("${BOOST_DETECTED_TOOLSET}" STREQUAL "")
# Unknown toolset
message(STATUS "Boost toolset is unknown (compiler ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION})")
elseif(Boost_DEBUG)
message(STATUS "Boost toolset is ${BOOST_DETECTED_TOOLSET} (${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION})")
endif()
Copyright 2K16 - 2K18 Indonesian Hacker Rulez