summaryrefslogtreecommitdiffstats
path: root/Source/ThirdParty/gtest/CMakeLists.txt
blob: cea356f1edb87dfaf05f1ea5192c70eb6e20f9b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# 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 ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "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 ()