brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · 5de1af1 Raw
85 lines · plain
1include(CompilerRTCompile)2 3set(GWP_ASAN_UNITTEST_CFLAGS4  ${COMPILER_RT_UNITTEST_CFLAGS}5  ${COMPILER_RT_GTEST_CFLAGS}6  ${SANITIZER_TEST_CXX_CFLAGS}7  -std=c++178  -I${COMPILER_RT_SOURCE_DIR}/lib/9  -O210  -g11  -fno-omit-frame-pointer)12 13file(GLOB GWP_ASAN_HEADERS ../*.h)14set(GWP_ASAN_UNITTESTS15  platform_specific/printf_sanitizer_common.cpp16  alignment.cpp17  backtrace.cpp18  basic.cpp19  compression.cpp20  iterate.cpp21  crash_handler_api.cpp22  driver.cpp23  mutex_test.cpp24  slot_reuse.cpp25  thread_contention.cpp26  harness.cpp27  enable_disable.cpp28  late_init.cpp29  options.cpp30  recoverable.cpp31  never_allocated.cpp32  utilities.cpp33)34 35set(GWP_ASAN_UNIT_TEST_HEADERS36  ${GWP_ASAN_HEADERS}37  harness.h)38 39add_custom_target(GwpAsanUnitTests)40set_target_properties(GwpAsanUnitTests PROPERTIES FOLDER "Compiler-RT/Tests")41 42set(GWP_ASAN_UNITTEST_LINK_FLAGS43  ${COMPILER_RT_UNITTEST_LINK_FLAGS} -ldl44  ${COMPILER_RT_UNWINDER_LINK_LIBS}45  ${SANITIZER_TEST_CXX_LIBRARIES})46list(APPEND GWP_ASAN_UNITTEST_LINK_FLAGS --driver-mode=g++)47if(NOT WIN32)48  list(APPEND GWP_ASAN_UNITTEST_LINK_FLAGS -pthread)49endif()50 51if(COMPILER_RT_DEFAULT_TARGET_ARCH IN_LIST GWP_ASAN_SUPPORTED_ARCH)52  # GWP-ASan unit tests are only run on the host machine.53  set(arch ${COMPILER_RT_DEFAULT_TARGET_ARCH})54 55  set(GWP_ASAN_TEST_RUNTIME RTGwpAsanTest.${arch})56 57  set(GWP_ASAN_TEST_RUNTIME_OBJECTS58    $<TARGET_OBJECTS:RTGwpAsan.${arch}>59    $<TARGET_OBJECTS:RTGwpAsanBacktraceSanitizerCommon.${arch}>60    $<TARGET_OBJECTS:RTGwpAsanSegvHandler.${arch}>61    $<TARGET_OBJECTS:RTGwpAsanOptionsParser.${arch}>62    $<TARGET_OBJECTS:RTSanitizerCommon.${arch}>63    $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}>64    $<TARGET_OBJECTS:RTSanitizerCommonSymbolizer.${arch}>65    $<TARGET_OBJECTS:RTSanitizerCommonSymbolizerInternal.${arch}>)66 67  add_library(${GWP_ASAN_TEST_RUNTIME} STATIC68    ${GWP_ASAN_TEST_RUNTIME_OBJECTS})69 70  set_target_properties(${GWP_ASAN_TEST_RUNTIME} PROPERTIES71    ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}72    FOLDER "Compiler-RT/Tests/Runtime")73 74  set(GwpAsanTestObjects)75  generate_compiler_rt_tests(GwpAsanTestObjects76    GwpAsanUnitTests "GwpAsan-${arch}-Test" ${arch}77    SOURCES ${GWP_ASAN_UNITTESTS} ${COMPILER_RT_GTEST_SOURCE}78    RUNTIME ${GWP_ASAN_TEST_RUNTIME}79    DEPS ${GWP_ASAN_UNIT_TEST_HEADERS}80    CFLAGS ${GWP_ASAN_UNITTEST_CFLAGS}81    LINK_FLAGS ${GWP_ASAN_UNITTEST_LINK_FLAGS})82  set_target_properties(GwpAsanUnitTests PROPERTIES83    RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})84endif()85