|
|
|
@ -1,36 +1,34 @@ |
|
|
|
|
cmake_minimum_required(VERSION 2.8) |
|
|
|
|
|
|
|
|
|
# Check if a supported compiler is used and add c++14 flag: |
|
|
|
|
# Check if a supported compiler is used and add c++11 flag: |
|
|
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") |
|
|
|
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9) |
|
|
|
|
message(FATAL_ERROR "Need at least gcc 4.9 to compile.") |
|
|
|
|
endif() |
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") |
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") |
|
|
|
|
elseif(MSVC) |
|
|
|
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19) |
|
|
|
|
message(FATAL_ERROR "Visual Studio 2015 or newer is required.") |
|
|
|
|
endif() |
|
|
|
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") |
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") |
|
|
|
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) |
|
|
|
|
message(FATAL_ERROR "Need at least AppleClang 7.0 to compile.") |
|
|
|
|
endif() |
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") |
|
|
|
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") |
|
|
|
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4) |
|
|
|
|
message(FATAL_ERROR "Clang below version 3.4 will most likely not work. Please upgrade your compiler.") |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.6) |
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y") |
|
|
|
|
else() |
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") |
|
|
|
|
endif() |
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") |
|
|
|
|
else() # no GNU, no MSVC, no Clang |
|
|
|
|
message(WARNING "You are using an unsupported compiler. Compilation has only been tested with MSVC, GCC and Clang.") |
|
|
|
|
|
|
|
|
|
include(CheckCXXCompilerFlag) |
|
|
|
|
check_cxx_compiler_flag(-std=c++14 HAS_CXX14_FLAG) |
|
|
|
|
if(HAS_CXX14_FLAG) |
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") |
|
|
|
|
check_cxx_compiler_flag(-std=c++11 HAS_CXX11_FLAG) |
|
|
|
|
if(HAS_CXX11_FLAG) |
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") |
|
|
|
|
else() |
|
|
|
|
message(FATAL_ERROR "Your compiler doesn't support the '-std=c++14' flag.") |
|
|
|
|
message(FATAL_ERROR "Your compiler doesn't support the '-std=c++11' flag.") |
|
|
|
|
endif() |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
@ -73,4 +71,4 @@ if(NOT MSVC) |
|
|
|
|
add_subdirectory(lint) |
|
|
|
|
add_subdirectory(language/pl0) |
|
|
|
|
add_subdirectory(language/culebra) |
|
|
|
|
endif() |
|
|
|
|
endif() |
|
|
|
|