File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -8,11 +8,16 @@ project(taradino
8
8
)
9
9
configure_file (rott/version .h.in rott/version .h @ONLY)
10
10
11
+ option (TARADINO_ASAN "Use Address Sanitizer" OFF )
11
12
option (TARADINO_SHAREWARE "Build shareware version" OFF )
12
13
option (TARADINO_WARNINGS_AS_ERRORS "Treat all compiler warnings as errors" OFF )
13
14
set (TARADINO_DATADIR "" CACHE STRING "Game data file directory" )
14
15
set (TARADINO_SUFFIX "" CACHE STRING "Executable file name suffix" )
15
16
17
+ add_library (ASAN::ASAN IMPORTED INTERFACE )
18
+ target_compile_options (ASAN::ASAN INTERFACE -fsanitize=address $<$<NOT :$<COMPILE_LANG_AND_ID:C,MSVC >>:-fno-omit-frame-pointer>)
19
+ target_link_options (ASAN::ASAN INTERFACE -fsanitize=address)
20
+
16
21
find_package (SDL2 REQUIRED CONFIG REQUIRED COMPONENTS SDL2)
17
22
find_package (SDL2 REQUIRED CONFIG COMPONENTS SDL2main)
18
23
find_package (SDL2_mixer REQUIRED CONFIG REQUIRED COMPONENTS SDL2_mixer)
@@ -39,6 +44,7 @@ target_link_libraries(taradino PRIVATE $<TARGET_NAME_IF_EXISTS:SDL2::SDL2main> S
39
44
target_compile_definitions (taradino PRIVATE PACKAGE_STRING="${TARADINO_TITLE} ${CMAKE_PROJECT_VERSION} " )
40
45
target_compile_definitions (taradino PRIVATE PACKAGE_TARNAME="${CMAKE_PROJECT_NAME} " )
41
46
target_include_directories (taradino PRIVATE "${PROJECT_BINARY_DIR} /rott" )
47
+ target_link_libraries (taradino PUBLIC $<$<BOOL :${TARADINO_ASAN} >:ASAN::ASAN>)
42
48
43
49
if (NOT DEFINED TARADINO_EXEC)
44
50
set (TARADINO_EXEC taradino)
You can’t perform that action at this time.
0 commit comments