mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
CMake: Build unittests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114725 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c8417d7165
commit
ee6944f4ab
@ -305,7 +305,6 @@ add_subdirectory(lib/Analysis/IPA)
|
||||
add_subdirectory(lib/MC)
|
||||
add_subdirectory(lib/MC/MCParser)
|
||||
add_subdirectory(lib/MC/MCDisassembler)
|
||||
add_subdirectory(test)
|
||||
|
||||
add_subdirectory(utils/FileCheck)
|
||||
add_subdirectory(utils/count)
|
||||
@ -370,6 +369,12 @@ add_subdirectory(tools)
|
||||
option(LLVM_BUILD_EXAMPLES "Build LLVM example programs." OFF)
|
||||
add_subdirectory(examples)
|
||||
|
||||
option(LLVM_BUILD_TESTS "Build LLVM unit tests." OFF)
|
||||
add_subdirectory(test)
|
||||
add_subdirectory(utils/unittest)
|
||||
add_subdirectory(unittests)
|
||||
|
||||
|
||||
add_subdirectory(cmake/modules)
|
||||
|
||||
install(DIRECTORY include/
|
||||
|
@ -52,7 +52,15 @@ if(PYTHONINTERP_FOUND)
|
||||
set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
|
||||
set(LLVMGCCDIR "")
|
||||
set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
|
||||
set(LLVM_BUILD_MODE ${CMAKE_CFG_INTDIR})
|
||||
if (CMAKE_CONFIGURATION_TYPES)
|
||||
# FIXME: We have no idea. It could be any of them... So just output all of
|
||||
# them.
|
||||
set(LLVM_BUILD_MODE "${CMAKE_CONFIGURATION_TYPES}")
|
||||
elseif (CMAKE_BUILD_TYPE)
|
||||
set(LLVM_BUILD_MODE "${CMAKE_BUILD_TYPE}")
|
||||
else()
|
||||
set(LLVM_BUILD_MODE "None")
|
||||
endif()
|
||||
set(ENABLE_SHARED ${LLVM_SHARED_LIBS_ENABLED})
|
||||
set(SHLIBPATH_VAR ${SHLIBPATH_VAR})
|
||||
|
||||
|
95
unittests/CMakeLists.txt
Normal file
95
unittests/CMakeLists.txt
Normal file
@ -0,0 +1,95 @@
|
||||
function(add_llvm_unittest test_name)
|
||||
if (CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
|
||||
${LLVM_BINARY_DIR}/unittests/${test_name}/${CMAKE_BUILD_TYPE})
|
||||
else()
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
|
||||
${LLVM_BINARY_DIR}/unittests/${test_name})
|
||||
endif()
|
||||
if( NOT LLVM_BUILD_TESTS )
|
||||
set(EXCLUDE_FROM_ALL ON)
|
||||
endif()
|
||||
add_llvm_executable(${test_name}Tests ${ARGN})
|
||||
endfunction()
|
||||
|
||||
include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include)
|
||||
|
||||
set(LLVM_LINK_COMPONENTS
|
||||
jit
|
||||
interpreter
|
||||
nativecodegen
|
||||
BitWriter
|
||||
BitReader
|
||||
AsmParser
|
||||
Core
|
||||
System
|
||||
Support
|
||||
)
|
||||
|
||||
set(LLVM_USED_LIBS
|
||||
gtest
|
||||
gtest_main
|
||||
)
|
||||
|
||||
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/ilistTest.cpp
|
||||
ADT/ImmutableSetTest.cpp
|
||||
ADT/SmallBitVectorTest.cpp
|
||||
ADT/SmallStringTest.cpp
|
||||
ADT/SmallVectorTest.cpp
|
||||
ADT/SparseBitVectorTest.cpp
|
||||
ADT/StringMapTest.cpp
|
||||
ADT/StringRefTest.cpp
|
||||
ADT/TripleTest.cpp
|
||||
ADT/TwineTest.cpp
|
||||
ADT/ValueMapTest.cpp
|
||||
)
|
||||
|
||||
add_llvm_unittest(Analysis
|
||||
Analysis/ScalarEvolutionTest.cpp
|
||||
)
|
||||
|
||||
add_llvm_unittest(ExecutionEngine
|
||||
ExecutionEngine/ExecutionEngineTest.cpp
|
||||
)
|
||||
|
||||
add_llvm_unittest(JIT
|
||||
ExecutionEngine/JIT/JITEventListenerTest.cpp
|
||||
ExecutionEngine/JIT/JITMemoryManagerTest.cpp
|
||||
ExecutionEngine/JIT/JITTest.cpp
|
||||
ExecutionEngine/JIT/MultiJITTest.cpp
|
||||
)
|
||||
|
||||
add_llvm_unittest(Support
|
||||
Support/AllocatorTest.cpp
|
||||
Support/Casting.cpp
|
||||
Support/CommandLineTest.cpp
|
||||
Support/ConstantRangeTest.cpp
|
||||
Support/LeakDetectorTest.cpp
|
||||
Support/MathExtrasTest.cpp
|
||||
Support/raw_ostream_test.cpp
|
||||
Support/RegexTest.cpp
|
||||
Support/System.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
|
||||
)
|
34
utils/unittest/CMakeLists.txt
Normal file
34
utils/unittest/CMakeLists.txt
Normal file
@ -0,0 +1,34 @@
|
||||
########################################################################
|
||||
# Experimental CMake build script for Google Test.
|
||||
#
|
||||
# Consider this a prototype. It will change drastically. For now,
|
||||
# this is only for people on the cutting edge.
|
||||
#
|
||||
# To run the tests for Google Test itself on Linux, use 'make test' or
|
||||
# ctest. You can select which tests to run using 'ctest -R regex'.
|
||||
# For more options, run 'ctest --help'.
|
||||
########################################################################
|
||||
#
|
||||
# Project-wide settings
|
||||
|
||||
# Where gtest's .h files can be found.
|
||||
include_directories(
|
||||
googletest/include
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
add_definitions(-DGTEST_OS_WINDOWS=1)
|
||||
endif()
|
||||
|
||||
add_llvm_library(gtest
|
||||
googletest/gtest.cc
|
||||
googletest/gtest-death-test.cc
|
||||
googletest/gtest-filepath.cc
|
||||
googletest/gtest-port.cc
|
||||
googletest/gtest-test-part.cc
|
||||
googletest/gtest-typed-test.cc
|
||||
)
|
||||
|
||||
add_llvm_library(gtest_main
|
||||
UnitTestMain/TestMain.cpp
|
||||
)
|
@ -403,7 +403,8 @@
|
||||
// defining __GNUC__ and friends, but cannot compile GCC's tuple
|
||||
// implementation. MSVC 2008 (9.0) provides TR1 tuple in a 323 MB
|
||||
// Feature Pack download, which we cannot assume the user has.
|
||||
#if (defined(__GNUC__) && !defined(__CUDACC__) && (GTEST_GCC_VER_ >= 40000)) \
|
||||
#if (defined(__GNUC__) && !(defined(__CUDACC__) || defined(__clang__)) \
|
||||
&& (GTEST_GCC_VER_ >= 40000)) \
|
||||
|| _MSC_VER >= 1600
|
||||
#define GTEST_USE_OWN_TR1_TUPLE 0
|
||||
#else
|
||||
|
Loading…
Reference in New Issue
Block a user