CMakeLists.txt revision 341588afadc46bf6f0dc7babd6d531209aba5202
1set(SANITIZER_UNITTESTS
2  sanitizer_allocator_test.cc
3  sanitizer_common_test.cc
4  sanitizer_flags_test.cc
5  sanitizer_libc_test.cc
6  sanitizer_list_test.cc
7  sanitizer_stackdepot_test.cc
8  sanitizer_test_main.cc
9  )
10if(CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT LLVM_BUILD_32_BITS)
11  list(APPEND SANITIZER_UNITTESTS sanitizer_allocator64_test.cc)
12endif()
13
14include_directories(..)
15include_directories(../..)
16
17# Unittest target.
18add_custom_target(SanitizerUnitTests)
19set_target_properties(SanitizerUnitTests PROPERTIES
20  FOLDER "Sanitizer unittests")
21add_unittest(SanitizerUnitTests SanitizerUnitTest ${SANITIZER_UNITTESTS})
22# Link with sanitizer runtime.
23target_link_libraries(SanitizerUnitTest RTSanitizerCommon.test)
24# Build unit tests with debug info.
25set_property(TARGET SanitizerUnitTest APPEND_STRING
26  PROPERTY COMPILE_FLAGS " -g -Werror")
27
28# Run unittests as a part of lit testsuite.
29configure_lit_site_cfg(
30  ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
31  ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
32  )
33
34add_lit_testsuite(check-sanitizer "Running sanitizer library unittests"
35  ${CMAKE_CURRENT_BINARY_DIR}
36  DEPENDS SanitizerUnitTests
37  )
38set_target_properties(check-sanitizer PROPERTIES FOLDER "Sanitizer unittests")
39