1 function(add_llvm_unittest test_name)
3 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
4 ${LLVM_BINARY_DIR}/unittests/${test_name}/${CMAKE_BUILD_TYPE})
6 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
7 ${LLVM_BINARY_DIR}/unittests/${test_name})
9 if( NOT LLVM_BUILD_TESTS )
10 set(EXCLUDE_FROM_ALL ON)
12 add_llvm_executable(${test_name}Tests ${ARGN})
13 add_dependencies(UnitTests ${test_name}Tests)
16 add_custom_target(UnitTests)
18 include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include)
19 add_definitions(-DGTEST_HAS_RTTI=0)
20 if (NOT LLVM_ENABLE_THREADS)
21 add_definitions(-DGTEST_HAS_PTHREAD=0)
24 set(LLVM_LINK_COMPONENTS
39 LLVMSupport # gtest needs it for raw_ostream.
46 ADT/DAGDeltaAlgorithmTest.cpp
47 ADT/DeltaAlgorithmTest.cpp
52 ADT/ImmutableSetTest.cpp
53 ADT/IntervalMapTest.cpp
54 ADT/SmallBitVectorTest.cpp
55 ADT/SmallStringTest.cpp
56 ADT/SmallVectorTest.cpp
57 ADT/SparseBitVectorTest.cpp
64 add_llvm_unittest(Analysis
65 Analysis/ScalarEvolutionTest.cpp
68 add_llvm_unittest(ExecutionEngine
69 ExecutionEngine/ExecutionEngineTest.cpp
73 ExecutionEngine/JIT/JITEventListenerTest.cpp
74 ExecutionEngine/JIT/JITMemoryManagerTest.cpp
75 ExecutionEngine/JIT/JITTest.cpp
76 ExecutionEngine/JIT/MultiJITTest.cpp
80 list(APPEND JITTestsSources ExecutionEngine/JIT/JITTests.def)
83 add_llvm_unittest(JIT ${JITTestsSources})
86 set_property(TARGET JITTests PROPERTY LINK_FLAGS -Wl,--export-all-symbols)
89 add_llvm_unittest(Transforms
90 Transforms/Utils/Cloning.cpp
94 VMCore/ConstantsTest.cpp
95 VMCore/DerivedTypesTest.cpp
96 VMCore/InstructionsTest.cpp
97 VMCore/MetadataTest.cpp
98 VMCore/PassManagerTest.cpp
99 VMCore/ValueMapTest.cpp
100 VMCore/VerifierTest.cpp
103 # MSVC9 and 8 cannot compile ValueMapTest.cpp due to their bug.
104 # See issue#331418 in Visual Studio.
105 if(MSVC AND MSVC_VERSION LESS 1600)
106 list(REMOVE_ITEM VMCoreSources VMCore/ValueMapTest.cpp)
109 add_llvm_unittest(VMCore ${VMCoreSources})
111 set(LLVM_LINK_COMPONENTS
117 add_llvm_unittest(Support
118 Support/AllocatorTest.cpp
120 Support/CommandLineTest.cpp
121 Support/ConstantRangeTest.cpp
122 Support/EndianTest.cpp
123 Support/LeakDetectorTest.cpp
124 Support/MathExtrasTest.cpp
125 Support/raw_ostream_test.cpp
126 Support/RegexTest.cpp
127 Support/SwapByteOrderTest.cpp
128 Support/TypeBuilderTest.cpp
129 Support/ValueHandleTest.cpp
132 set(LLVM_LINK_COMPONENTS
136 add_llvm_unittest(System