From ef33c10ba8b316d38dd7a97856757aee1f07d204 Mon Sep 17 00:00:00 2001 From: Jordan Williams <19399197+jwillikers@users.noreply.github.com> Date: Wed, 12 Feb 2020 07:44:47 -0600 Subject: [PATCH] use cache variables for the CMake standard and extensions settings --- CMakeLists.txt | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 83cf6f4..54a0d4d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,11 +16,9 @@ option(toml11_TEST_WITH_UBSAN "use LLVM undefined behavior sanitizer" OFF) include(CheckCXXCompilerFlag) if("${CMAKE_VERSION}" VERSION_GREATER 3.1) - set(CMAKE_CXX_EXTENSIONS OFF) - if(NOT DEFINED CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 11) - endif() - set(CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_STANDARD 11 CACHE STRING "The C++ standard whose features are requested to build all targets.") + set(CMAKE_CXX_STANDARD_REQUIRED ON CACHE BOOL "Boolean describing whether the value of CXX_STANDARD is a requirement.") + set(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Boolean specifying whether compiler specific extensions are requested.") else() # Manually check for C++11 compiler flag. CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)