diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2012-06-21 05:16:58 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2012-06-21 05:16:58 +0000 |
commit | b60182e99b97f31756b013022d94fcfb1aa0be73 (patch) | |
tree | a066762cd1cab367114478a9d7927aa24fb15391 /unittests | |
parent | b1081af7a283a03b37a8dd7f6adbc4f743b2cc00 (diff) | |
download | external_llvm-b60182e99b97f31756b013022d94fcfb1aa0be73.zip external_llvm-b60182e99b97f31756b013022d94fcfb1aa0be73.tar.gz external_llvm-b60182e99b97f31756b013022d94fcfb1aa0be73.tar.bz2 |
Factor the logic for setting up a GoogleTest unit test executable into
a helper function in CMake. This will allow us to share all of this
logic with Clang, and eventually CompilerRT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158896 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests')
-rw-r--r-- | unittests/CMakeLists.txt | 48 |
1 files changed, 3 insertions, 45 deletions
diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt index 6baf80c..00fd796 100644 --- a/unittests/CMakeLists.txt +++ b/unittests/CMakeLists.txt @@ -1,51 +1,9 @@ -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_dirname}/${CMAKE_BUILD_TYPE}) - else() - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY - ${LLVM_BINARY_DIR}/unittests/${test_dirname}) - endif() - if( NOT LLVM_BUILD_TESTS ) - set(EXCLUDE_FROM_ALL ON) - endif() - - add_llvm_executable(${test_name} ${ARGN}) - target_link_libraries(${test_name} - gtest - gtest_main - LLVMSupport # gtest needs it for raw_ostream. - ) - - add_dependencies(UnitTests ${test_name}) - set_target_properties(${test_name} PROPERTIES FOLDER "Tests") -endfunction() - -# Visual Studio 2012 only supports up to 8 template parameters in -# std::tr1::tuple by default, but gtest requires 10 -if(MSVC AND MSVC_VERSION EQUAL 1700) - add_definitions(-D_VARIADIC_MAX=10) -endif () - add_custom_target(UnitTests) set_target_properties(UnitTests PROPERTIES FOLDER "Tests") -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() +function(add_llvm_unittest test_dirname) + add_unittest(UnitTests ${test_dirname} ${ARGN}) +endfunction() set(LLVM_LINK_COMPONENTS jit |