Document LLVM_BUILD_TESTS, LLVM_INCLUDE_TESTS. New convenience target
[oota-llvm.git] / unittests / CMakeLists.txt
1 function(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()
12   add_llvm_executable(${test_name}Tests ${ARGN})
13   add_dependencies(UnitTests ${test_name}Tests)
14 endfunction()
15
16 add_custom_target(UnitTests)
17
18 include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include)
19 set(LLVM_REQUIRES_RTTI 1)
20 add_definitions(-DGTEST_HAS_RTTI=0)
21
22 set(LLVM_LINK_COMPONENTS
23   jit
24   interpreter
25   nativecodegen
26   BitWriter
27   BitReader
28   AsmParser
29   Core
30   System
31   Support
32   )
33
34 set(LLVM_USED_LIBS
35   gtest
36   gtest_main
37   )
38
39 add_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
57  )
58
59 add_llvm_unittest(Analysis
60   Analysis/ScalarEvolutionTest.cpp
61   )
62
63 add_llvm_unittest(ExecutionEngine
64   ExecutionEngine/ExecutionEngineTest.cpp
65   )
66
67 add_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
74 add_llvm_unittest(Transforms
75   Transforms/Utils/Cloning.cpp
76   )
77
78 add_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
87 set(LLVM_LINK_COMPONENTS
88   System
89   Support
90   Core
91   )
92
93 add_llvm_unittest(Support
94   Support/AllocatorTest.cpp
95   Support/Casting.cpp
96   Support/CommandLineTest.cpp
97   Support/ConstantRangeTest.cpp
98   Support/EndianTest.cpp
99   Support/LeakDetectorTest.cpp
100   Support/MathExtrasTest.cpp
101   Support/raw_ostream_test.cpp
102   Support/RegexTest.cpp
103   Support/SwapByteOrderTest.cpp
104   Support/System.cpp
105   Support/TypeBuilderTest.cpp
106   Support/ValueHandleTest.cpp
107   )