blob: a2eed42dc348f51cae592074b53d10399580de46 [file] [log] [blame]
Michael J. Spenceree6944f2010-09-24 09:01:13 +00001function(add_llvm_unittest test_name)
2 if (CMAKE_BUILD_TYPE)
3 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
4 ${LLVM_BINARY_DIR}/unittests/${test_name}/${CMAKE_BUILD_TYPE})
5 else()
6 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
7 ${LLVM_BINARY_DIR}/unittests/${test_name})
8 endif()
9 if( NOT LLVM_BUILD_TESTS )
10 set(EXCLUDE_FROM_ALL ON)
11 endif()
Oscar Fuentes066de852010-09-25 20:25:25 +000012 add_llvm_executable(${test_name}Tests ${ARGN})
Oscar Fuentesda975632010-10-28 14:38:35 +000013 add_dependencies(UnitTests ${test_name}Tests)
Michael J. Spenceree6944f2010-09-24 09:01:13 +000014endfunction()
15
Oscar Fuentesda975632010-10-28 14:38:35 +000016add_custom_target(UnitTests)
17
Michael J. Spenceree6944f2010-09-24 09:01:13 +000018include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include)
Michael J. Spencer8a806ae2010-10-19 18:04:19 +000019set(LLVM_REQUIRES_RTTI 1)
20add_definitions(-DGTEST_HAS_RTTI=0)
Michael J. Spenceree6944f2010-09-24 09:01:13 +000021
22set(LLVM_LINK_COMPONENTS
23 jit
24 interpreter
25 nativecodegen
26 BitWriter
27 BitReader
28 AsmParser
29 Core
30 System
31 Support
32 )
33
34set(LLVM_USED_LIBS
35 gtest
36 gtest_main
37 )
38
39add_llvm_unittest(ADT
40 ADT/APFloatTest.cpp
41 ADT/APIntTest.cpp
42 ADT/BitVectorTest.cpp
43 ADT/DAGDeltaAlgorithmTest.cpp
44 ADT/DeltaAlgorithmTest.cpp
45 ADT/DenseMapTest.cpp
46 ADT/DenseSetTest.cpp
47 ADT/ilistTest.cpp
48 ADT/ImmutableSetTest.cpp
49 ADT/SmallBitVectorTest.cpp
50 ADT/SmallStringTest.cpp
51 ADT/SmallVectorTest.cpp
52 ADT/SparseBitVectorTest.cpp
53 ADT/StringMapTest.cpp
54 ADT/StringRefTest.cpp
55 ADT/TripleTest.cpp
56 ADT/TwineTest.cpp
Douglas Gregorc576d3d2010-09-27 16:40:43 +000057 )
Michael J. Spenceree6944f2010-09-24 09:01:13 +000058
59add_llvm_unittest(Analysis
60 Analysis/ScalarEvolutionTest.cpp
61 )
62
63add_llvm_unittest(ExecutionEngine
64 ExecutionEngine/ExecutionEngineTest.cpp
65 )
66
67add_llvm_unittest(JIT
68 ExecutionEngine/JIT/JITEventListenerTest.cpp
69 ExecutionEngine/JIT/JITMemoryManagerTest.cpp
70 ExecutionEngine/JIT/JITTest.cpp
71 ExecutionEngine/JIT/MultiJITTest.cpp
72 )
73
Michael J. Spencer12647eb2010-10-11 21:22:34 +000074add_llvm_unittest(Transforms
75 Transforms/Utils/Cloning.cpp
76 )
77
78add_llvm_unittest(VMCore
79 VMCore/ConstantsTest.cpp
80 VMCore/DerivedTypesTest.cpp
81 VMCore/InstructionsTest.cpp
82 VMCore/MetadataTest.cpp
83 VMCore/PassManagerTest.cpp
84 VMCore/VerifierTest.cpp
85 )
86
87set(LLVM_LINK_COMPONENTS
88 System
89 Support
90 Core
91 )
92
Michael J. Spenceree6944f2010-09-24 09:01:13 +000093add_llvm_unittest(Support
94 Support/AllocatorTest.cpp
95 Support/Casting.cpp
96 Support/CommandLineTest.cpp
97 Support/ConstantRangeTest.cpp
Michael J. Spencer5e0b2bf2010-10-21 20:28:21 +000098 Support/EndianTest.cpp
Michael J. Spenceree6944f2010-09-24 09:01:13 +000099 Support/LeakDetectorTest.cpp
100 Support/MathExtrasTest.cpp
101 Support/raw_ostream_test.cpp
102 Support/RegexTest.cpp
Michael J. Spencer4c099b82010-10-11 21:56:16 +0000103 Support/SwapByteOrderTest.cpp
Michael J. Spencer5e0b2bf2010-10-21 20:28:21 +0000104 Support/System.cpp
Michael J. Spenceree6944f2010-09-24 09:01:13 +0000105 Support/TypeBuilderTest.cpp
106 Support/ValueHandleTest.cpp
107 )