new ci scripts and presets

This commit is contained in:
BlackMATov
2022-12-29 01:16:54 +07:00
parent ce142df971
commit a21a6bd4ca
59 changed files with 650 additions and 7459 deletions

15
cmake/EnableASan.cmake Normal file
View File

@@ -0,0 +1,15 @@
# https://clang.llvm.org/docs/AddressSanitizer.html
add_library(enable_asan INTERFACE)
target_compile_options(enable_asan INTERFACE
-fsanitize=address
-fno-omit-frame-pointer
-fsanitize-address-use-after-scope
-fsanitize-address-use-after-return=always)
target_link_options(enable_asan INTERFACE
-fsanitize=address
-fno-omit-frame-pointer
-fsanitize-address-use-after-scope
-fsanitize-address-use-after-return=always)

9
cmake/EnableGCov.cmake Normal file
View File

@@ -0,0 +1,9 @@
# https://clang.llvm.org/docs/SourceBasedCodeCoverage.html
add_library(enable_gcov INTERFACE)
target_compile_options(enable_gcov INTERFACE
--coverage)
target_link_options(enable_gcov INTERFACE
--coverage)

11
cmake/EnableUBSan.cmake Normal file
View File

@@ -0,0 +1,11 @@
# https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
add_library(enable_ubsan INTERFACE)
target_compile_options(enable_ubsan INTERFACE
-fsanitize=undefined
-fno-omit-frame-pointer)
target_link_options(enable_ubsan INTERFACE
-fsanitize=undefined
-fno-omit-frame-pointer)