cmake: add float-cast-overflow w/ubsan

Tested with gcc-12/13/14, clang-14/16.

Change-Id: Ifc841db9e3c78531d313aa4b346b982c7f932436
diff --git a/build/cmake/sanitizers.cmake b/build/cmake/sanitizers.cmake
index c149822..3557d5e 100644
--- a/build/cmake/sanitizers.cmake
+++ b/build/cmake/sanitizers.cmake
@@ -31,6 +31,9 @@
 else()
   require_linker_flag("-fsanitize=${SANITIZE}")
   require_compiler_flag("-fsanitize=${SANITIZE}" YES)
+  if("${SANITIZE}" MATCHES "integer|undefined")
+    require_compiler_flag("-fsanitize=float-cast-overflow" YES)
+  endif()
 endif()
 
 # Make callstacks accurate.