Skip to content

Commit 7f65afb

Browse files
committed
cmake check for avaible C++ standard. Mininum reqiered standard is C++11
1 parent 5fb2509 commit 7f65afb

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

CMakeLists.txt

+13-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#
99
###############################################################################
1010

11-
cmake_minimum_required(VERSION 2.8.11)
11+
cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
1212

1313
# In-source builds are disabled.
1414
if ("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
@@ -83,6 +83,18 @@ endif()
8383
#
8484
###############################################################################
8585

86+
# Check for C++ standard to use
87+
get_property(known_features GLOBAL PROPERTY CMAKE_CXX_KNOWN_FEATURES)
88+
if(cxx_std_14 IN_LIST known_features)
89+
set(CMAKE_CXX_STANDARD 14)
90+
message("C++14 support enabled...")
91+
else() # minimum requeired standard
92+
set(CMAKE_CXX_STANDARD 11)
93+
message("C++11 support enabled...")
94+
endif()
95+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
96+
set(CMAKE_CXX_EXTENSIONS OFF)
97+
8698
set(LIBRARY_TYPE SHARED)
8799
if (STATIC)
88100
set(LIBRARY_TYPE)

0 commit comments

Comments
 (0)