mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
6c4fad5c56
gtest depends on this #define to determine whether it can use various classes like std::tuple, or whether it has to fall back to experimental classes in the std::tr1 namespace. The check in the current version of gtest relies on the value of the `__cplusplus` macro, but MSVC provides a non-conformant value of this macro, making it effectively impossible to detect C++11. In short, LLVM compiled with MSVC has been silently using the tr1 versions of several classes since the beginning of time. This would normally be pretty benign, except that in the latest preview of MSVC they have marked all of the tr1 classes deprecated, so it spews thousands of warnings. llvm-svn: 316798
68 lines
1.7 KiB
CMake
68 lines
1.7 KiB
CMake
########################################################################
|
|
# 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)
|