From 5d6adbdee06d37a25a07cba64eabdf2059f7cc65 Mon Sep 17 00:00:00 2001 From: David Neto Date: Thu, 15 Dec 2022 21:12:53 -0500 Subject: [PATCH] Require C++11 *or later* (#5020) Allow externally setting CMAKE_CXX_STANDARD to 14, for example, which is needed to build protobufs --- CMakeLists.txt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7815a299..63eeae87 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,7 +31,15 @@ set(SPIRV_TOOLS "SPIRV-Tools") include(GNUInstallDirs) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -set(CMAKE_CXX_STANDARD 11) + +# Require at least C++11 +if(NOT CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 11) +endif() +if(${CMAKE_CXX_STANDARD} LESS 11) + message(FATAL_ERROR "SPIRV-Tools requires C++11 or later, but is configured for C++${CMAKE_CXX_STANDARD})") +endif() + option(ENABLE_RTTI "Enables RTTI" OFF) option(SPIRV_ALLOW_TIMERS "Allow timers via clock_gettime on supported platforms" ON)