X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=unittests%2FCMakeLists.txt;h=61ea1ee55af4dadcb1796e27c14ab343370e8f2a;hb=a156efdf71bc668093e31593713694cf076db895;hp=2337fe25ef51b7b44b356d6189f2561b88933e7a;hpb=5031e0d97709658d552e33b2f5bd8957b4e6171e;p=oota-llvm.git diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt index 2337fe25ef5..61ea1ee55af 100644 --- a/unittests/CMakeLists.txt +++ b/unittests/CMakeLists.txt @@ -1,18 +1,30 @@ -function(add_llvm_unittest test_name) +function(add_llvm_unittest test_dirname) + string(REGEX MATCH "([^/]+)$" test_name ${test_dirname}) if (CMAKE_BUILD_TYPE) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY - ${LLVM_BINARY_DIR}/unittests/${test_name}/${CMAKE_BUILD_TYPE}) + ${LLVM_BINARY_DIR}/unittests/${test_dirname}/${CMAKE_BUILD_TYPE}) else() set(CMAKE_RUNTIME_OUTPUT_DIRECTORY - ${LLVM_BINARY_DIR}/unittests/${test_name}) + ${LLVM_BINARY_DIR}/unittests/${test_dirname}) endif() if( NOT LLVM_BUILD_TESTS ) set(EXCLUDE_FROM_ALL ON) endif() add_llvm_executable(${test_name}Tests ${ARGN}) + add_dependencies(UnitTests ${test_name}Tests) endfunction() +add_custom_target(UnitTests) + include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include) +add_definitions(-DGTEST_HAS_RTTI=0) +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 @@ -22,13 +34,13 @@ set(LLVM_LINK_COMPONENTS BitReader AsmParser Core - System Support ) set(LLVM_USED_LIBS gtest gtest_main + LLVMSupport # gtest needs it for raw_ostream. ) add_llvm_unittest(ADT @@ -39,8 +51,11 @@ add_llvm_unittest(ADT ADT/DeltaAlgorithmTest.cpp ADT/DenseMapTest.cpp ADT/DenseSetTest.cpp + ADT/FoldingSet.cpp ADT/ilistTest.cpp ADT/ImmutableSetTest.cpp + ADT/IntEqClassesTest.cpp + ADT/IntervalMapTest.cpp ADT/SmallBitVectorTest.cpp ADT/SmallStringTest.cpp ADT/SmallVectorTest.cpp @@ -59,37 +74,63 @@ add_llvm_unittest(ExecutionEngine ExecutionEngine/ExecutionEngineTest.cpp ) -add_llvm_unittest(JIT +set(JITTestsSources ExecutionEngine/JIT/JITEventListenerTest.cpp 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) + 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/DerivedTypesTest.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) +endif() + +add_llvm_unittest(VMCore ${VMCoreSources}) + +set(LLVM_LINK_COMPONENTS + Support + Core + ) + add_llvm_unittest(Support Support/AllocatorTest.cpp Support/Casting.cpp Support/CommandLineTest.cpp Support/ConstantRangeTest.cpp + Support/EndianTest.cpp Support/LeakDetectorTest.cpp Support/MathExtrasTest.cpp + Support/Path.cpp Support/raw_ostream_test.cpp Support/RegexTest.cpp - Support/System.cpp Support/SwapByteOrderTest.cpp + Support/TimeValue.cpp Support/TypeBuilderTest.cpp Support/ValueHandleTest.cpp ) - -add_llvm_unittest(Transforms - Transforms/Utils/Cloning.cpp - ) - -add_llvm_unittest(VMCore - VMCore/ConstantsTest.cpp - VMCore/DerivedTypesTest.cpp - VMCore/InstructionsTest.cpp - VMCore/MetadataTest.cpp - VMCore/PassManagerTest.cpp - VMCore/VerifierTest.cpp - )