brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · ecb1aa9 Raw
43 lines · plain
1include(CompilerRTCompile)2 3set(NSAN_UNITTEST_CFLAGS4  ${COMPILER_RT_UNITTEST_CFLAGS}5  ${COMPILER_RT_GTEST_CFLAGS}6  ${SANITIZER_TEST_CXX_CFLAGS}7  -I${COMPILER_RT_SOURCE_DIR}/include8  -I${COMPILER_RT_SOURCE_DIR}/lib9  -DSANITIZER_COMMON_REDEFINE_BUILTINS_IN_STD10  -O211  -g12  -fno-omit-frame-pointer)13 14set(NSAN_UNITTEST_LINK_FLAGS15  ${COMPILER_RT_UNITTEST_LINK_FLAGS}16  ${COMPILER_RT_UNWINDER_LINK_LIBS}17  ${SANITIZER_TEST_CXX_LIBRARIES})18set(NSAN_UNITTEST_INSTRUMENTED_LINK_FLAGS ${NSAN_UNITTEST_LINK_FLAGS})19list(APPEND NSAN_UNITTEST_INSTRUMENTED_LINK_FLAGS -fsanitize=numerical)20 21file(GLOB NSAN_HEADERS ../*.h)22set(NSAN_UNITTESTS23	NSanUnitTest.cpp24        nsan_unit_test_main.cpp)25 26add_custom_target(NsanUnitTests)27 28if(COMPILER_RT_DEFAULT_TARGET_ARCH IN_LIST NSAN_SUPPORTED_ARCH)29  # NSan unit tests are only run on the host machine.30  set(arch ${COMPILER_RT_DEFAULT_TARGET_ARCH})31 32  set(NsanTestObjects)33  generate_compiler_rt_tests(NsanTestObjects34    NsanUnitTests "Nsan-${arch}-Test" ${arch}35    SOURCES ${NSAN_UNITTESTS} ${COMPILER_RT_GTEST_SOURCE}36    DEPS ${NSAN_UNIT_TEST_HEADERS}37    CFLAGS ${NSAN_UNITTEST_CFLAGS}38    LINK_FLAGS ${NSAN_UNITTEST_INSTRUMENTED_LINK_FLAGS})39  set_target_properties(NsanUnitTests PROPERTIES40    RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})41endif()42 43