diff --git a/.clang-format b/.clang-format
index 67255e6d2799a31dc414a35d216bd885e962b6b3..ea5fa625a60991879641127e358b095eea0e9bcb 100644
--- a/.clang-format
+++ b/.clang-format
@@ -147,7 +147,7 @@ SpacesInContainerLiterals: true
 SpacesInCStyleCastParentheses: false
 SpacesInParentheses: false
 SpacesInSquareBrackets: false
-Standard:        c++11
+Standard:        c++17
 StatementMacros:
   - Q_UNUSED
   - QT_REQUIRE_VERSION
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7f81f6dcee3994f7fac349cb8f3fce27ea97597b..53abdd8c7b95e4cb32c1126a1602e299ed23efbd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,7 +3,7 @@
 
 #------------------------------------------------------------------------------
 # Top level CMakeLists.txt file for EveryBeam
-cmake_minimum_required(VERSION 3.7)
+cmake_minimum_required(VERSION 3.8)
 
 #------------------------------------------------------------------------------
 # Set version name and project number
@@ -118,7 +118,10 @@ if(POLICY CMP0074)
 endif()
 
 # Set compile options
-add_compile_options(-std=c++11 "${OpenMP_CXX_FLAGS}" -Wall)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED YES)
+set(CMAKE_CXX_EXTENSIONS NO)
+add_compile_options("${OpenMP_CXX_FLAGS}" -Wall)
 string(APPEND CMAKE_SHARED_LINKER_FLAGS " -Wl,--no-undefined")
 
 if(NOT CMAKE_BUILD_TYPE MATCHES Debug)