GTest.cmake 1.3 KB
Newer Older
Artur Wojcik's avatar
Artur Wojcik committed
1
2
3
4
5
6
7
8
9
10
11
12
# SPDX-License-Identifier: MIT
# Copyright (c) 2018-2023, Advanced Micro Devices, Inc. All rights reserved.

include(FetchContent)

set(GOOGLETEST_DIR "" CACHE STRING "Location of local GoogleTest repo to build against")

if(GOOGLETEST_DIR)
  set(FETCHCONTENT_SOURCE_DIR_GOOGLETEST ${GOOGLETEST_DIR} CACHE STRING "GoogleTest source directory override")
endif()

set(BUILD_GMOCK OFF CACHE INTERNAL "")
Artur Wojcik's avatar
Artur Wojcik committed
13
set(INSTALL_GTEST OFF CACHE INTERNAL "")
Artur Wojcik's avatar
Artur Wojcik committed
14
15

FetchContent_Declare(
Artur Wojcik's avatar
Artur Wojcik committed
16
17
18
19
    googletest
    GIT_REPOSITORY https://github.com/google/googletest.git
    GIT_TAG f8d7d77c06936315286eb55f8de22cd23c188571
    SYSTEM
Artur Wojcik's avatar
Artur Wojcik committed
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
)

if(WIN32)
    set(gtest_force_shared_crt ON CACHE_INTERNAL "")
endif()

# Store the current value of BUILD_SHARED_LIBS
set(__build_shared_libs ${BUILD_SHARED_LIBS})
set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "")

FetchContent_MakeAvailable(googletest)

# Restore the old value of BUILD_SHARED_LIBS
set(BUILD_SHARED_LIBS ${__build_shared_libs} CACHE BOOL "Type of libraries to build" FORCE)


if(WIN32)
    list(APPEND GTEST_CMAKE_CXX_FLAGS
            -Wno-suggest-destructor-override
            -Wno-suggest-override
            -Wno-nonportable-system-include-path
            -Wno-language-extension-token)
endif()

Artur Wojcik's avatar
Artur Wojcik committed
44
45
target_compile_options(gtest PRIVATE -Wno-undef)
target_compile_options(gtest_main PRIVATE -Wno-undef)
Artur Wojcik's avatar
Artur Wojcik committed
46