1set(MEMPROF_LIT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
2
3set(MEMPROF_TESTSUITES)
4set(MEMPROF_DYNAMIC_TESTSUITES)
5
6macro(get_bits_for_arch arch bits)
7  if (${arch} MATCHES "x86_64")
8    set(${bits} 64)
9  else()
10    message(FATAL_ERROR "Unexpected target architecture: ${arch}")
11  endif()
12endmacro()
13
14set(MEMPROF_TEST_DEPS ${SANITIZER_COMMON_LIT_TEST_DEPS})
15if(NOT COMPILER_RT_STANDALONE_BUILD)
16  list(APPEND MEMPROF_TEST_DEPS memprof)
17  if(COMPILER_RT_HAS_LLD AND TARGET lld)
18    list(APPEND MEMPROF_TEST_DEPS lld)
19  endif()
20endif()
21set(MEMPROF_DYNAMIC_TEST_DEPS ${MEMPROF_TEST_DEPS})
22
23set(MEMPROF_TEST_ARCH ${MEMPROF_SUPPORTED_ARCH})
24
25foreach(arch ${MEMPROF_TEST_ARCH})
26  set(MEMPROF_TEST_TARGET_ARCH ${arch})
27  string(TOLOWER "-${arch}-${OS_NAME}" MEMPROF_TEST_CONFIG_SUFFIX)
28  get_bits_for_arch(${arch} MEMPROF_TEST_BITS)
29  get_test_cc_for_arch(${arch} MEMPROF_TEST_TARGET_CC MEMPROF_TEST_TARGET_CFLAGS)
30  set(MEMPROF_TEST_DYNAMIC False)
31  string(TOUPPER ${arch} ARCH_UPPER_CASE)
32  set(CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME}Config)
33  configure_lit_site_cfg(
34    ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
35    ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg.py
36    )
37  list(APPEND MEMPROF_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})
38
39  string(TOLOWER "-${arch}-${OS_NAME}-dynamic" MEMPROF_TEST_CONFIG_SUFFIX)
40  set(MEMPROF_TEST_DYNAMIC True)
41  set(CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME}DynamicConfig)
42  configure_lit_site_cfg(
43    ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
44    ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg.py)
45  list(APPEND MEMPROF_DYNAMIC_TESTSUITES
46    ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})
47endforeach()
48
49add_lit_testsuite(check-memprof "Running the MemProfiler tests"
50  ${MEMPROF_TESTSUITES}
51  DEPENDS ${MEMPROF_TEST_DEPS})
52set_target_properties(check-memprof PROPERTIES FOLDER "Compiler-RT Misc")
53
54add_lit_testsuite(check-memprof-dynamic
55	"Running the MemProfiler tests with dynamic runtime"
56  ${MEMPROF_DYNAMIC_TESTSUITES}
57  ${exclude_from_check_all.g}
58  DEPENDS ${MEMPROF_DYNAMIC_TEST_DEPS})
59set_target_properties(check-memprof-dynamic
60  PROPERTIES FOLDER "Compiler-RT Misc")
61