Commit 51d43470 authored by Fylax's avatar Fylax

Relaxed CMAKE version requirement

parent c9ddf189
cmake_minimum_required (VERSION 3.8.2) cmake_minimum_required (VERSION 3.1.3)
project (pistache) project (pistache)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -Wextra -Wno-missing-field-initializers") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -Wextra -Wno-missing-field-initializers")
...@@ -7,16 +7,27 @@ option(PISTACHE_BUILD_TESTS "build tests alongside the project" OFF) ...@@ -7,16 +7,27 @@ option(PISTACHE_BUILD_TESTS "build tests alongside the project" OFF)
option(PISTACHE_BUILD_EXAMPLES "build examples alongside the project" OFF) option(PISTACHE_BUILD_EXAMPLES "build examples alongside the project" OFF)
option(PISTACHE_INSTALL "add pistache as install target (recommended)" ON) option(PISTACHE_INSTALL "add pistache as install target (recommended)" ON)
# Clang exports C++17 in std::experimental namespace (tested on Clang 5 and 6). # CMAKE version less than 3.8 does not understand the CMAKE_CXX_FLAGS
# This gives an error on date.h external library. # set to 17, so a manual check if performed on older version
# Following workaround forces Clang to compile at best with C++14 if(${CMAKE_VERSION} VERSION_LESS "3.8.0")
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") include(CheckCXXCompilerFlag)
set(CMAKE_CXX_STANDARD 14) CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
else() if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
else()
set(CMAKE_CXX_STANDARD 14)
endif()
# Clang exports C++17 in std::experimental namespace (tested on Clang 5 and 6).
# This gives an error on date.h external library.
# Following workaround forces Clang to compile at best with C++14
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set(CMAKE_CXX_STANDARD 14)
else()
set(CMAKE_CXX_STANDARD 17)
endif()
set(CMAKE_CXX_STANDARD_REQUIRED OFF)
set(CMAKE_CXX_EXTENSIONS OFF)
endif() endif()
set(CMAKE_CXX_STANDARD_REQUIRED OFF)
set(CMAKE_CXX_EXTENSIONS OFF)
include_directories (${CMAKE_CURRENT_SOURCE_DIR}/include) include_directories (${CMAKE_CURRENT_SOURCE_DIR}/include)
add_subdirectory (src) add_subdirectory (src)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment