-include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include)
-add_definitions(-DGTEST_HAS_RTTI=0)
-if( LLVM_COMPILER_IS_GCC_COMPATIBLE )
- llvm_replace_compiler_option(CMAKE_CXX_FLAGS "-frtti" "-fno-rtti")
-elseif( MSVC )
- llvm_replace_compiler_option(CMAKE_CXX_FLAGS "/GR" "/GR-")
-endif()
-
-if (NOT LLVM_ENABLE_THREADS)
- add_definitions(-DGTEST_HAS_PTHREAD=0)
-endif()
-
-if(SUPPORTS_NO_VARIADIC_MACROS_FLAG)
- add_definitions("-Wno-variadic-macros")
-endif()
-
-set(LLVM_LINK_COMPONENTS
- jit
- interpreter
- nativecodegen
- BitWriter
- BitReader
- AsmParser
- Core
- Support
- )
-
-set(LLVM_USED_LIBS
- gtest
- gtest_main
- LLVMSupport # gtest needs it for raw_ostream.
- )
-
-add_llvm_unittest(ADT
- ADT/APFloatTest.cpp
- ADT/APIntTest.cpp
- ADT/BitVectorTest.cpp
- ADT/DAGDeltaAlgorithmTest.cpp
- ADT/DeltaAlgorithmTest.cpp
- ADT/DenseMapTest.cpp
- ADT/DenseSetTest.cpp
- ADT/FoldingSet.cpp
- ADT/HashingTest.cpp
- ADT/ilistTest.cpp
- ADT/ImmutableSetTest.cpp
- ADT/IntEqClassesTest.cpp
- ADT/IntervalMapTest.cpp
- ADT/IntrusiveRefCntPtrTest.cpp
- ADT/PackedVectorTest.cpp
- ADT/SmallBitVectorTest.cpp
- ADT/SmallStringTest.cpp
- ADT/SmallVectorTest.cpp
- ADT/SparseBitVectorTest.cpp
- ADT/SparseSetTest.cpp
- ADT/StringMapTest.cpp
- ADT/StringRefTest.cpp
- ADT/TripleTest.cpp
- ADT/TwineTest.cpp
- ADT/VariadicFunctionTest.cpp
- )
-
-add_llvm_unittest(Analysis
- Analysis/ScalarEvolutionTest.cpp
- )
-
-if( LLVM_USE_INTEL_JITEVENTS )
- include_directories( ${LLVM_INTEL_JITEVENTS_INCDIR} )
- link_directories( ${LLVM_INTEL_JITEVENTS_LIBDIR} )
- set(ProfileTestSources
- ExecutionEngine/IntelJITEventListenerTest.cpp
- )
- set(LLVM_LINK_COMPONENTS
- ${LLVM_LINK_COMPONENTS}
- IntelJITEvents
- )
-endif( LLVM_USE_INTEL_JITEVENTS )
-
-if( LLVM_USE_OPROFILE )
- set(ProfileTestSources
- ${ProfileTestSources}
- ExecutionEngine/OProfileJITEventListenerTest.cpp
- )
- set(LLVM_LINK_COMPONENTS
- ${LLVM_LINK_COMPONENTS}
- OProfileJIT
- )
-endif( LLVM_USE_OPROFILE )
-
-add_llvm_unittest(ExecutionEngine
- ExecutionEngine/ExecutionEngineTest.cpp
- ExecutionEngine/JITEventListenerTest.cpp
- ${ProfileTestSources}
- )
-
-set(JITTestsSources
- ExecutionEngine/JIT/JITMemoryManagerTest.cpp
- ExecutionEngine/JIT/JITTest.cpp
- ExecutionEngine/JIT/MultiJITTest.cpp
- )
-
-if(MSVC)
- list(APPEND JITTestsSources ExecutionEngine/JIT/JITTests.def)
-endif()
-
-add_llvm_unittest(ExecutionEngine/JIT ${JITTestsSources})
-
-if(MINGW OR CYGWIN)
- set_property(TARGET JITTests PROPERTY LINK_FLAGS -Wl,--export-all-symbols)
-endif()
-
-add_llvm_unittest(Transforms/Utils
- Transforms/Utils/Cloning.cpp
- )
-
-set(VMCoreSources
- VMCore/ConstantsTest.cpp
- VMCore/InstructionsTest.cpp
- VMCore/MetadataTest.cpp
- VMCore/PassManagerTest.cpp
- VMCore/ValueMapTest.cpp
- VMCore/VerifierTest.cpp
- )
-
-# MSVC9 and 8 cannot compile ValueMapTest.cpp due to their bug.
-# See issue#331418 in Visual Studio.
-if(MSVC AND MSVC_VERSION LESS 1600)
- list(REMOVE_ITEM VMCoreSources VMCore/ValueMapTest.cpp)