basic project

This commit is contained in:
2026-02-14 21:54:27 -05:00
commit 2dd2d9c995
12 changed files with 235 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
set(_TV2HV_CORE_WANTED_SANITIZERS "")
if("asan" IN_LIST TV2HV_BUILD_FEATURES)
# Error if someone's trying to mix asan and tsan together,
# they aren't compatible.
if("tsan" IN_LIST TV2HV_BUILD_FEATURES)
message(FATAL_ERROR "ASAN and TSAN cannot be used together.")
endif()
message(STATUS "Enabling ASAN because it was in TV2HV_BUILD_FEATURES")
list(APPEND _TV2HV_CORE_WANTED_SANITIZERS "address")
endif()
if("tsan" IN_LIST TV2HV_BUILD_FEATURES)
if("asan" IN_LIST TV2HV_BUILD_FEATURES)
message(FATAL_ERROR "ASAN and TSAN cannot be used together.")
endif()
message(STATUS "Enabling TSAN because it was in TV2HV_BUILD_FEATURES")
list(APPEND _TV2HV_CORE_WANTED_SANITIZERS "thread")
endif()
if("ubsan" IN_LIST TV2HV_BUILD_FEATURES)
message(STATUS "Enabling UBSAN because it was in TV2HV_BUILD_FEATURES")
list(APPEND _TV2HV_CORE_WANTED_SANITIZERS "undefined")
endif()
list(LENGTH _TV2HV_CORE_WANTED_SANITIZERS _TV2HV_CORE_WANTED_SANITIZERS_LENGTH)
if(NOT _TV2HV_CORE_WANTED_SANITIZERS_LENGTH EQUAL 0)
list(JOIN _TV2HV_CORE_WANTED_SANITIZERS "," _TV2HV_CORE_WANTED_SANITIZERS_ARG)
message(STATUS "Enabled sanitizers: ${_TV2HV_CORE_WANTED_SANITIZERS_ARG}")
set(TV2HV_CORE_COMPILE_ARGS "${TV2HV_CORE_COMPILE_ARGS} -fsanitize=${_TV2HV_CORE_WANTED_SANITIZERS_ARG}")
set(TV2HV_CORE_LINKER_ARGS "${TV2HV_CORE_LINKER_ARGS} -fsanitize=${_TV2HV_CORE_WANTED_SANITIZERS_ARG}")
endif()