# Enable invalid element access and other checks in the c++ standard library:
list(APPEND DEAL_II_DEFINITIONS_DEBUG "_GLIBCXX_ASSERTIONS")
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
- if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19)
- # _LIBCPP_ENABLE_ASSERTIONS was deprecated in clang++-19
- # _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE should be used instead
- list(APPEND DEAL_II_DEFINITIONS_DEBUG "_LIBCPP_ENABLE_ASSERTIONS")
+ # _LIBCPP_ENABLE_ASSERTIONS was deprecated in clang++-19
+ # _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE should be used instead
+ if (CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17)
+ list(APPEND DEAL_II_DEFINITIONS_DEBUG "_LIBCPP_ENABLE_ASSERTIONS")
+ endif()
+ else()
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19)
+ list(APPEND DEAL_II_DEFINITIONS_DEBUG "_LIBCPP_ENABLE_ASSERTIONS")
+ endif()
endif()
list(APPEND DEAL_II_DEFINITIONS_DEBUG "_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE")
endif()