@@ -446,25 +446,28 @@ if(APPLE)
446446
447447 # Note: In order to target x86_64h on OS X the minimum deployment target must
448448 # be 10.8 or higher.
449+ set (SANITIZER_MIN_OSX_VERSION "" CACHE STRING
450+ "Minimum OS X version to target (e.g. 10.15) for sanitizers." )
451+
449452 set (DEFAULT_SANITIZER_MIN_OSX_VERSION 10.10)
450453 set (DARWIN_osx_MIN_VER_FLAG "-mmacosx-version-min" )
451- if (NOT SANITIZER_MIN_OSX_VERSION)
454+ if (SANITIZER_MIN_OSX_VERSION STREQUAL "" )
452455 string (REGEX MATCH "${DARWIN_osx_MIN_VER_FLAG} =([.0-9]+)"
453456 MACOSX_VERSION_MIN_FLAG "${CMAKE_CXX_FLAGS} " )
454457 if (MACOSX_VERSION_MIN_FLAG)
455- set (SANITIZER_MIN_OSX_VERSION "${CMAKE_MATCH_1} " )
458+ set (MIN_OSX_VERSION "${CMAKE_MATCH_1} " )
456459 elseif (CMAKE_OSX_DEPLOYMENT_TARGET)
457- set (SANITIZER_MIN_OSX_VERSION ${CMAKE_OSX_DEPLOYMENT_TARGET} )
460+ set (MIN_OSX_VERSION ${CMAKE_OSX_DEPLOYMENT_TARGET} )
458461 else ()
459- set (SANITIZER_MIN_OSX_VERSION ${DEFAULT_SANITIZER_MIN_OSX_VERSION} )
462+ set (MIN_OSX_VERSION ${DEFAULT_SANITIZER_MIN_OSX_VERSION} )
460463 endif ()
461- if (SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.7" )
464+
465+ if (MIN_OSX_VERSION VERSION_LESS "10.7" )
462466 message (FATAL_ERROR "macOS deployment target '${SANITIZER_MIN_OSX_VERSION} ' is too old." )
463467 endif ()
464- if (SANITIZER_MIN_OSX_VERSION VERSION_GREATER ${DEFAULT_SANITIZER_MIN_OSX_VERSION} )
465- message (WARNING "macOS deployment target '${SANITIZER_MIN_OSX_VERSION} ' is too new, setting to '${DEFAULT_SANITIZER_MIN_OSX_VERSION} ' instead." )
466- set (SANITIZER_MIN_OSX_VERSION ${DEFAULT_SANITIZER_MIN_OSX_VERSION} )
467- endif ()
468+
469+ set (SANITIZER_MIN_OSX_VERSION "${MIN_OSX_VERSION} " CACHE STRING
470+ "Minimum OS X version to target (e.g. 10.15) for sanitizers." FORCE)
468471 endif ()
469472
470473 # We're setting the flag manually for each target OS
0 commit comments