CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
100 lines
3.1 KiB
CMake
100 lines
3.1 KiB
CMake
# Copyright (c) Advanced Micro Devices, Inc., or its affiliates.
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
include_guard(GLOBAL)
|
|
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()
|
|
|
|
FetchContent_Declare(
|
|
GTest
|
|
GIT_REPOSITORY https://github.com/google/googletest.git
|
|
GIT_TAG f8d7d77c06936315286eb55f8de22cd23c188571
|
|
)
|
|
|
|
FetchContent_Populate(GTest)
|
|
|
|
# Patch googlemock/CMakeLists.txt to fix invalid include path
|
|
set(GMOCK_CMAKE "${gtest_SOURCE_DIR}/googlemock/CMakeLists.txt")
|
|
file(READ "${GMOCK_CMAKE}" GMOCK_CMAKE_CONTENT)
|
|
string(REPLACE [[gtest_SOURCE_DIR}/include]]
|
|
[[gtest_SOURCE_DIR}/googletest/include]]
|
|
GMOCK_CMAKE_CONTENT
|
|
"${GMOCK_CMAKE_CONTENT}")
|
|
file(WRITE "${GMOCK_CMAKE}" "${GMOCK_CMAKE_CONTENT}")
|
|
|
|
# Suppress ROCMChecks WARNING on GoogleTests
|
|
set(ROCM_DISABLE_CHECKS FALSE)
|
|
macro(rocm_check_toolchain_var var access value list_file)
|
|
if(NOT ROCM_DISABLE_CHECKS)
|
|
_rocm_check_toolchain_var("${var}" "${access}" "${value}" "${list_file}")
|
|
endif()
|
|
endmacro()
|
|
|
|
if(WIN32)
|
|
set(gtest_force_shared_crt ON CACHE_INTERNAL "")
|
|
endif()
|
|
|
|
set(BUILD_GMOCK ON CACHE INTERNAL "")
|
|
set(INSTALL_GTEST OFF CACHE INTERNAL "")
|
|
|
|
# Store the current value of BUILD_SHARED_LIBS
|
|
set(__build_shared_libs ${BUILD_SHARED_LIBS})
|
|
set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "")
|
|
|
|
set(ROCM_DISABLE_CHECKS TRUE)
|
|
add_subdirectory(${gtest_SOURCE_DIR} ${gtest_BINARY_DIR})
|
|
set(ROCM_DISABLE_CHECKS FALSE)
|
|
|
|
# Restore the old value of BUILD_SHARED_LIBS
|
|
set(BUILD_SHARED_LIBS ${__build_shared_libs} CACHE BOOL "Type of libraries to build" FORCE)
|
|
|
|
set(GTEST_CXX_FLAGS
|
|
-Wno-undef
|
|
-Wno-reserved-identifier
|
|
-Wno-global-constructors
|
|
-Wno-missing-noreturn
|
|
-Wno-disabled-macro-expansion
|
|
-Wno-used-but-marked-unused
|
|
-Wno-switch-enum
|
|
-Wno-zero-as-null-pointer-constant
|
|
-Wno-unused-member-function
|
|
-Wno-comma
|
|
-Wno-old-style-cast
|
|
-Wno-deprecated
|
|
-Wno-unsafe-buffer-usage
|
|
-Wno-float-equal
|
|
-Wno-lifetime-safety-intra-tu-suggestions
|
|
-Wno-lifetime-safety-cross-tu-suggestions
|
|
-Wno-character-conversion
|
|
-Wno-lifetime-safety-invalidation
|
|
)
|
|
|
|
if(WIN32)
|
|
list(APPEND GTEST_CXX_FLAGS
|
|
-Wno-suggest-destructor-override
|
|
-Wno-suggest-override
|
|
-Wno-nonportable-system-include-path
|
|
-Wno-language-extension-token
|
|
-Wno-lifetime-safety-invalidation)
|
|
endif()
|
|
|
|
target_compile_options(gtest PRIVATE ${GTEST_CXX_FLAGS})
|
|
target_compile_options(gtest_main PRIVATE ${GTEST_CXX_FLAGS})
|
|
target_compile_definitions(gtest PRIVATE GTEST_HAS_SEH=0)
|
|
target_compile_definitions(gtest_main PRIVATE GTEST_HAS_SEH=0)
|
|
|
|
if(TARGET gmock)
|
|
target_compile_options(gmock PRIVATE ${GTEST_CXX_FLAGS})
|
|
target_compile_definitions(gmock PRIVATE GTEST_HAS_SEH=0)
|
|
endif()
|
|
|
|
if(TARGET gmock_main)
|
|
target_compile_options(gmock_main PRIVATE ${GTEST_CXX_FLAGS})
|
|
target_compile_definitions(gmock_main PRIVATE GTEST_HAS_SEH=0)
|
|
endif()
|