https://bugs.gentoo.org/951679
https://github.com/google/cctz/commit/f62d7b7

From f62d7b778289959fa117c13ce190387690400611 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <foss@grueninger.de>
Date: Mon, 8 Jul 2024 16:07:59 +0200
Subject: [PATCH] [cmake] Require CMake 3.16 (#292)

Follow Google's OSS policy.
Remove other code specific for CMake < 3.16
---
 CMakeLists.txt | 28 +++++++---------------------
 1 file changed, 7 insertions(+), 21 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c0f2c58..0bf696b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,8 +1,6 @@
-cmake_minimum_required(VERSION 2.8.12)
-
-if (POLICY CMP0025)
-  cmake_policy(SET CMP0025 NEW)
-endif()
+# https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md
+# As of 2024-07-01, CMake 3.16 is the minimum supported version.
+cmake_minimum_required(VERSION 3.16)
 
 project(cctz)
 
@@ -51,20 +49,12 @@ if (BUILD_TESTING)
   )
 endif()
 
-# Starting from CMake >= 3.1, if a specific standard is required,
+# If a specific standard is required,
 # it can be set from the command line with:
-#     cmake -DCMAKE_CXX_STANDARD=[11|14|17]
+#     cmake -DCMAKE_CXX_STANDARD=[11|14|17|20|23]
 function(cctz_target_set_cxx_standard target)
   set(cxx_standard 11)
-  if (CMAKE_VERSION VERSION_LESS "3.1")
-    if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
-      target_compile_options(${target} PRIVATE -std=c++${cxx_standard})
-    endif()
-  elseif (CMAKE_VERSION VERSION_LESS "3.8")
-    set_property(TARGET ${target} PROPERTY CXX_STANDARD ${cxx_standard})
-  else()
-    target_compile_features(${target} PUBLIC cxx_std_${cxx_standard})
-  endif()
+  target_compile_features(${target} PUBLIC cxx_std_${cxx_standard})
 endfunction()
 
 if(APPLE)
@@ -191,10 +181,6 @@ install(FILES cmake/${PROJECT_NAME}-config.cmake
   DESTINATION ${CMAKE_INSTALL_CONFIGDIR}
   )
 
-if (CMAKE_VERSION VERSION_LESS "3.8")
-  set(quiet_on_empty "")
-else()
-  set(quiet_on_empty QUIET_ON_EMPTY)
-endif()
+set(quiet_on_empty QUIET_ON_EMPTY)
 
 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES ${quiet_on_empty})