Move decisions based on the compiler version to a better place

This commit is contained in:
Carles Fernandez 2020-06-14 12:57:47 +02:00
parent b301c772e8
commit 90c8b8e468
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D
1 changed files with 28 additions and 25 deletions

View File

@ -269,31 +269,6 @@ if(CMAKE_VERSION VERSION_GREATER 3.13)
set(USE_CMAKE_TARGET_SOURCES ON)
endif()
# Determine if we try to use generic lambdas
if(CMAKE_VERSION VERSION_GREATER 3.1 AND NOT ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND
(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0)))
set(USE_GENERIC_LAMBDAS ON)
endif()
# Determine if we use lambdas
if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND NOT WIN32)
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.1.1")
set(DO_NOT_USE_LAMBDAS ON)
endif()
endif()
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "7")
set(DO_NOT_USE_LAMBDAS ON)
endif()
else()
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "3.5.0")
set(DO_NOT_USE_LAMBDAS ON)
endif()
endif()
endif()
# Determine if we are using make or ninja
if(CMAKE_MAKE_PROGRAM MATCHES "make")
set(CMAKE_MAKE_PROGRAM_PRETTY_NAME "make")
@ -393,6 +368,34 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
endif()
endif()
# Determine if we use lambdas
if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND NOT WIN32)
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.1.1")
set(DO_NOT_USE_LAMBDAS ON)
endif()
endif()
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
if(CLANG_VERSION VERSION_LESS "600")
set(DO_NOT_USE_LAMBDAS ON)
endif()
else()
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "3.5.0")
set(DO_NOT_USE_LAMBDAS ON)
endif()
endif()
endif()
# Determine if we try to use generic lambdas
if(NOT DO_NOT_USE_LAMBDAS)
if(CMAKE_VERSION VERSION_GREATER 3.1 AND NOT ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND
(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0)))
set(USE_GENERIC_LAMBDAS ON)
endif()
endif()
################################################################################