1 ########################################################################
2 # Experimental CMake build script for Google Test.
4 # Consider this a prototype. It will change drastically. For now,
5 # this is only for people on the cutting edge.
7 # To run the tests for Google Test itself on Linux, use 'make test' or
8 # ctest. You can select which tests to run using 'ctest -R regex'.
9 # For more options, run 'ctest --help'.
10 ########################################################################
12 # Project-wide settings
14 # Where gtest's .h files can be found.
22 # LLVM requires C++11 but gtest doesn't correctly detect the availability
23 # of C++11 on MSVC, so we force it on.
24 add_definitions(-DGTEST_LANG_CXX11=1)
25 add_definitions(-DGTEST_HAS_TR1_TUPLE=0)
28 add_definitions(-DGTEST_OS_WINDOWS=1)
31 if(SUPPORTS_VARIADIC_MACROS_FLAG)
32 add_definitions("-Wno-variadic-macros")
34 if(SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG)
35 add_definitions("-Wno-gnu-zero-variadic-macro-arguments")
37 if(CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG)
38 add_definitions("-Wno-covered-switch-default")
41 set(LLVM_REQUIRES_RTTI 1)
42 add_definitions( -DGTEST_HAS_RTTI=0 )
44 if (NOT LLVM_ENABLE_THREADS)
45 add_definitions( -DGTEST_HAS_PTHREAD=0 )
48 find_library(LLVM_PTHREAD_LIBRARY_PATH pthread)
49 if (LLVM_PTHREAD_LIBRARY_PATH)
50 list(APPEND LIBS pthread)
53 add_llvm_library(gtest
54 googletest/src/gtest-all.cc
55 googlemock/src/gmock-all.cc
61 Support # Depends on llvm::raw_ostream
63 # This is a library meant only for the build tree.
67 add_subdirectory(UnitTestMain)