aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Neto <dneto@google.com>2022-12-15 21:12:53 -0500
committerGitHub <noreply@github.com>2022-12-15 21:12:53 -0500
commit5d6adbdee06d37a25a07cba64eabdf2059f7cc65 (patch)
treedbf0ac65ad82b05a663e76d9ab99e5f175147f3c
parent43c99b5ee087704a5ae0909d0ce7be3eff416905 (diff)
downloadspirv-tools-5d6adbdee06d37a25a07cba64eabdf2059f7cc65.tar.gz
Require C++11 *or later* (#5020)
Allow externally setting CMAKE_CXX_STANDARD to 14, for example, which is needed to build protobufs
-rw-r--r--CMakeLists.txt10
1 files changed, 9 insertions, 1 deletions
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)