@@ -49,6 +49,41 @@ cpr_option(BUILD_WITH_MSAN "If ON, build with the memory sanitizer enabled" OFF)
49
49
cpr_option(BUILD_WITH_UBSAN "If ON, build with the undefined behavior sanitizer enabled" OFF )
50
50
cpr_option(USE_EXTERNAL_FFI "Specify to use external ffi dependency" OFF )
51
51
52
+ if (BUILD_WITH_ASAN)
53
+ add_compile_options (
54
+ -fsanitize=address
55
+ -fno-sanitize-recover=all
56
+ -fno-omit-frame-pointer
57
+ )
58
+ add_link_options (
59
+ -fsanitize=address
60
+ -fno-sanitize-recover=all
61
+ -fno-omit-frame-pointer
62
+ )
63
+ elseif (BUILD_WITH_MSAN)
64
+ add_compile_options (
65
+ -fsanitize=memory
66
+ -fno-sanitize-recover=all
67
+ -fno-omit-frame-pointer
68
+ )
69
+ add_link_options (
70
+ -fsanitize=memory
71
+ -fno-sanitize-recover=all
72
+ -fno-omit-frame-pointer
73
+ )
74
+ elseif (BUILD_WITH_UBSAN)
75
+ add_compile_options (
76
+ -fsanitize=undefined
77
+ -fno-sanitize-recover=all
78
+ -fno-omit-frame-pointer
79
+ )
80
+ add_link_options (
81
+ -fsanitize=undefined
82
+ -fno-sanitize-recover=all
83
+ -fno-omit-frame-pointer
84
+ )
85
+ endif ()
86
+
52
87
add_subdirectory (deps/quickjs EXCLUDE_FROM_ALL )
53
88
54
89
option (libuv_buildtests "" OFF )
@@ -145,17 +180,6 @@ target_compile_definitions(tjs PRIVATE TJS__PLATFORM="${TJS_PLATFORM}")
145
180
target_include_directories (tjs PRIVATE ${CURL_INCLUDE_DIRS} )
146
181
target_link_libraries (tjs qjs uv_a m3 sqlite3 m pthread ${CURL_LIBRARIES} )
147
182
148
- if (BUILD_WITH_ASAN)
149
- target_compile_options (tjs PRIVATE -fsanitize=address -fno-sanitize-recover=all -fno-omit-frame-pointer)
150
- target_link_options (tjs PRIVATE -fsanitize=address -fno-sanitize-recover=all -fno-omit-frame-pointer)
151
- elseif (BUILD_WITH_MSAN)
152
- target_compile_options (tjs PRIVATE -fsanitize=memory -fno-sanitize-recover=all -fno-omit-frame-pointer)
153
- target_link_options (tjs PRIVATE -fsanitize=memory -fno-sanitize-recover=all -fno-omit-frame-pointer)
154
- elseif (BUILD_WITH_UBSAN)
155
- target_compile_options (tjs PRIVATE -fsanitize=undefined -fno-sanitize-recover=all -fno-omit-frame-pointer)
156
- target_link_options (tjs PRIVATE -fsanitize=undefined -fno-sanitize-recover=all -fno-omit-frame-pointer)
157
- endif ()
158
-
159
183
add_executable (tjsc EXCLUDE_FROM_ALL
160
184
src/qjsc.c
161
185
)
0 commit comments