1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-03 15:31:15 -05:00
sdrangel/cmake/Modules/CompilerOptions.cmake

30 lines
1001 B
CMake
Raw Normal View History

include_guard(GLOBAL)
include(DetectArchitecture)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
if(MSVC)
add_compile_options(/MP)
else()
add_compile_options(-Wall -Wextra -Wvla -Woverloaded-virtual -ffast-math -ftree-vectorize)
endif()
if (SANITIZE_ADDRESS)
message(STATUS "Activate address sanitization")
if(MSVC)
set(ASAN_LIB_ARCH ${MSVC_CXX_ARCHITECTURE_ID})
string(TOLOWER ${ASAN_LIB_ARCH} ASAN_LIB_ARCH)
if(ASAN_LIB_ARCH STREQUAL "x86")
set(ASAN_LIB_ARCH "i386")
elseif(ASAN_LIB_ARCH STREQUAL "x64")
set(ASAN_LIB_ARCH "x86_64")
endif()
add_compile_options(/fsanitize=address)
link_libraries(clang_rt.asan_dynamic-${ASAN_LIB_ARCH} clang_rt.asan_dynamic_runtime_thunk-${ASAN_LIB_ARCH})
add_link_options(/wholearchive:clang_rt.asan_dynamic_runtime_thunk-${ASAN_LIB_ARCH}.lib)
else()
add_compile_options(-fsanitize=address -fno-omit-frame-pointer -g)
add_link_options(-fsanitize=address)
endif()
endif()