GTest.cmake 1.48 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
)

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)

35
36
37
38
39
40
41
set(GTEST_CXX_FLAGS
    -Wno-undef
    -Wno-global-constructors
    -Wno-zero-as-null-pointer-constant
    -Wno-switch-enum
    -Wno-float-equal
    -Wno-unused-member-function)
Artur Wojcik's avatar
Artur Wojcik committed
42
43

if(WIN32)
44
    list(APPEND GTEST_CXX_FLAGS
Artur Wojcik's avatar
Artur Wojcik committed
45
46
47
48
49
50
            -Wno-suggest-destructor-override
            -Wno-suggest-override
            -Wno-nonportable-system-include-path
            -Wno-language-extension-token)
endif()

51
52
target_compile_options(gtest PRIVATE ${GTEST_CXX_FLAGS})
target_compile_options(gtest_main PRIVATE ${GTEST_CXX_FLAGS})