1add_library(
2  LibcUnitTest
3  Test.h
4  LibcTest.cpp
5  LibcTest.h
6)
7target_include_directories(LibcUnitTest PUBLIC ${LIBC_SOURCE_DIR})
8add_dependencies(LibcUnitTest libc.src.__support.CPP.type_traits libc.src.__support.CPP.uint128)
9target_link_libraries(LibcUnitTest PUBLIC libc_test_utils)
10
11add_library(
12  LibcUnitTestMain
13  LibcTestMain.cpp
14)
15
16target_include_directories(LibcUnitTestMain PUBLIC ${LIBC_SOURCE_DIR})
17add_dependencies(LibcUnitTestMain LibcUnitTest)
18target_link_libraries(LibcUnitTestMain PUBLIC LibcUnitTest libc_test_utils)
19
20add_header_library(
21  string_utils
22  HDRS
23    StringUtils.h
24  DEPENDS
25  libc.src.__support.CPP.type_traits
26)
27
28add_library(
29  LibcFPTestHelpers
30    FPExceptMatcher.cpp
31    FPExceptMatcher.h
32    FPMatcher.cpp
33    FPMatcher.h
34)
35target_include_directories(LibcFPTestHelpers PUBLIC ${LIBC_SOURCE_DIR})
36target_link_libraries(LibcFPTestHelpers LibcUnitTest)
37add_dependencies(
38  LibcFPTestHelpers
39  LibcUnitTest
40  libc.utils.UnitTest.string_utils
41  libc.src.__support.FPUtil.fputil
42)
43
44add_library(
45  LibcMemoryHelpers
46    MemoryMatcher.h
47    MemoryMatcher.cpp
48)
49target_include_directories(LibcMemoryHelpers PUBLIC ${LIBC_SOURCE_DIR})
50target_link_libraries(LibcMemoryHelpers LibcUnitTest)
51add_dependencies(
52  LibcMemoryHelpers
53  LibcUnitTest
54  libc.src.__support.CPP.array_ref
55)
56
57if(NOT LLVM_LIBC_FULL_BUILD) # TODO(michaelrj): make a more permanant solution.
58  return()
59endif()
60
61#currently stdio is fullbuild only, so this matcher that depends on a piece of
62#printf also has to be fullbuild only.
63
64add_library(
65  LibcPrintfHelpers
66    PrintfMatcher.h
67    PrintfMatcher.cpp
68)
69target_include_directories(LibcPrintfHelpers PUBLIC ${LIBC_SOURCE_DIR})
70target_link_libraries(LibcPrintfHelpers LibcUnitTest)
71add_dependencies(
72  LibcPrintfHelpers
73  LibcUnitTest
74  libc.src.__support.CPP.uint128
75  libc.src.stdio.printf_core.core_structs
76  libc.utils.UnitTest.string_utils
77)
78