blob: 51c8f91ca7cc1b167f5dbb949bf7c6c17b80cdfe [file] [log] [blame]
# This is an alternative CMakeLists.txt to the experimental one
# shipped with the original package. It builds only the essential
# for our tests. The WebKit version of gtest needs access to some
# headers from WTF and JSC for configuration.
set(GTEST_DIR "${THIRDPARTY_DIR}/gtest")
set(GTEST_INCLUDE_DIRECTORIES
"${GTEST_DIR}"
"${GTEST_DIR}/include"
"${JAVASCRIPTCORE_DIR}"
"${DERIVED_SOURCES_DIR}"
"${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
"${WTF_DIR}"
)
set(GTEST_SOURCES
${GTEST_DIR}/src/gtest.cc
${GTEST_DIR}/src/gtest-death-test.cc
${GTEST_DIR}/src/gtest-filepath.cc
${GTEST_DIR}/src/gtest_main.cc
${GTEST_DIR}/src/gtest-port.cc
${GTEST_DIR}/src/gtest-test-part.cc
${GTEST_DIR}/src/gtest-typed-test.cc
)
if (WIN32)
# MSVC 2015 requires this definition for INTMAX_MAX to be defined.
add_definitions(-D__STDC_LIMIT_MACROS -DGTEST_CREATE_SHARED_LIBRARY=0)
# gtest crashes on exit on Windows if it is a dll.
add_library(gtest STATIC ${GTEST_SOURCES})
else ()
add_definitions(-DGTEST_CREATE_SHARED_LIBRARY=1)
add_library(gtest SHARED ${GTEST_SOURCES})
endif ()
include_directories(${GTEST_INCLUDE_DIRECTORIES})
add_definitions(-DGTEST_HAS_RTTI=0)
# FIXME: This works around compatibility problems in the old version of the third-pary
# googletest source code checkout. It should be removed once we upgrade to a newer version.
if (COMPILER_IS_CLANG)
add_definitions(-DGTEST_HAS_TR1_TUPLE=0)
endif ()
target_link_libraries(gtest
WTF
)
if (CMAKE_USE_PTHREADS_INIT)
target_link_libraries(gtest ${CMAKE_THREAD_LIBS_INIT})
add_definitions(-DGTEST_HAS_PTHREAD=1)
endif ()