| ######################################################################## |
| # 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 |
| googletest |
| googlemock/include |
| googlemock |
| ) |
| |
| # LLVM requires C++11 but gtest doesn't correctly detect the availability |
| # of C++11 on MSVC, so we force it on. |
| add_definitions(-DGTEST_LANG_CXX11=1) |
| add_definitions(-DGTEST_HAS_TR1_TUPLE=0) |
| |
| if(WIN32) |
| add_definitions(-DGTEST_OS_WINDOWS=1) |
| endif() |
| |
| if(SUPPORTS_VARIADIC_MACROS_FLAG) |
| add_definitions("-Wno-variadic-macros") |
| endif() |
| if(SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG) |
| add_definitions("-Wno-gnu-zero-variadic-macro-arguments") |
| endif() |
| if(CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG) |
| add_definitions("-Wno-covered-switch-default") |
| endif() |
| |
| set(LLVM_REQUIRES_RTTI 1) |
| add_definitions( -DGTEST_HAS_RTTI=0 ) |
| |
| if (NOT LLVM_ENABLE_THREADS) |
| add_definitions( -DGTEST_HAS_PTHREAD=0 ) |
| endif() |
| |
| find_library(LLVM_PTHREAD_LIBRARY_PATH pthread) |
| if (LLVM_PTHREAD_LIBRARY_PATH) |
| list(APPEND LIBS pthread) |
| endif() |
| |
| add_llvm_library(gtest |
| googletest/src/gtest-all.cc |
| googlemock/src/gmock-all.cc |
| |
| LINK_LIBS |
| ${LIBS} |
| |
| LINK_COMPONENTS |
| Support # Depends on llvm::raw_ostream |
| |
| # This is a library meant only for the build tree. |
| BUILDTREE_ONLY |
| ) |
| |
| add_subdirectory(UnitTestMain) |