new ci scripts and presets

This commit is contained in:
BlackMATov
2022-12-27 16:16:17 +07:00
parent 6a0832803f
commit d75fe30108
27 changed files with 546 additions and 6769 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)