Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 17 additions & 6 deletions cmake/AISUseGTest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,36 @@

include(FetchContent)

# This line is used (or not) in FetchContent_Declare to determine
# if we check for a system GoogleTest install first. When building
# with the sanitizers, we HAVE to build GoogleTest from source.
if(AIS_USE_SANITIZERS OR AIS_USE_INTEGER_SANITIZER OR AIS_USE_THREAD_SANITIZER)
set(AIS_LOCAL_GTEST_CHECK "")
else()
set(AIS_LOCAL_GTEST_CHECK FIND_PACKAGE_ARGS NAMES GTest)
endif()

# lint_cmake: -readability/wonkycase
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/releases/download/v1.17.0/googletest-1.17.0.tar.gz
DOWNLOAD_EXTRACT_TIMESTAMP true
FIND_PACKAGE_ARGS NAMES GTest
${AIS_LOCAL_GTEST_CHECK}
SYSTEM
)
# lint_cmake: +readability/wonkycase

set(INSTALL_GTEST OFF CACHE BOOL "Don't install gtest.")
set(GTEST_HAS_ABSL OFF CACHE BOOL "Don't use abseil for GTest.")
set(INSTALL_GTEST OFF CACHE BOOL "Don't install GoogleTest")
set(GTEST_HAS_ABSL OFF CACHE BOOL "Don't use Abseil for GoogleTest")

# lint_cmake: -readability/wonkycase
FetchContent_MakeAvailable(googletest)
# lint_cmake: +readability/wonkycase

if(rocm-cmake_SOURCE_DIR)
message(STATUS "Using fetched googletest.")
if(googletest_SOURCE_DIR)
message(STATUS "Using fetched GoogleTest")
else()
message(STATUS "Using system googletest.")
message(STATUS "Using system GoogleTest")
endif()

include(GoogleTest)
Expand Down
Loading