From e79027816d9591a7818e7c4490b0b2d3735f0c1e Mon Sep 17 00:00:00 2001 From: Micooz Date: Tue, 16 Jun 2015 21:42:59 +0800 Subject: [PATCH] Enhance: c++11 support check when using CMake. --- CMakeLists.txt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index daa5d7e..eaa0f76 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,17 @@ cmake_minimum_required(VERSION 2.8) project (easypr) # c++11 required -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +include(CheckCXXCompilerFlag) +CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) +CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) + +if(COMPILER_SUPPORTS_CXX11) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +elseif(COMPILER_SUPPORTS_CXX0X) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") +else() + message(STATUS "The compiler ${CMAKE_CXX_COMPILER} doesn’t support C++11. Please upgrade or use a different C++ compiler.") +endif() # opencv package required find_package(OpenCV REQUIRED)