1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-03 15:31:15 -05:00
sdrangel/cmake/Modules/CompilerOptions.cmake
2020-11-22 04:07:40 +01:00

38 lines
1.1 KiB
CMake

include_guard(GLOBAL)
include(DetectArchitecture)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
if(WIN32)
add_compile_definitions(
NOMINMAX
_USE_MATH_DEFINES
_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES
_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT
)
endif()
if(NOT MSVC)
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()