# Where gtest's .h files can be found.
include_directories(
googletest/include
+ googletest
)
if(WIN32)
set(LLVM_REQUIRES_RTTI 1)
add_definitions( -DGTEST_HAS_RTTI=0 )
-# libstdc++'s TR1 <tuple> header depends on RTTI and uses C++'0x features not
-# supported by Clang, so force googletest to use its own tuple implementation.
-add_definitions( -DGTEST_USE_OWN_TR1_TUPLE )
+
+if (NOT LLVM_ENABLE_THREADS)
+ add_definitions( -DGTEST_HAS_PTHREAD=0 )
+endif()
+
+# 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_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
- )
+ googletest/src/gtest-all.cc
-add_llvm_library(gtest_main
- UnitTestMain/TestMain.cpp
+ LINK_LIBS
+ LLVMSupport # Depends on llvm::raw_ostream
)
+
+add_subdirectory(UnitTestMain)