Files
rocm-systems/tests/unit_tests/CMakeLists.txt
T
Edgar Gabriel b1bc4a497a unit_tests: add ipc_context tests
add the initial outline of an ipc_context unit test. The current test
only invokes the ipc_context constructor, more tests will be added later
as the class is being populated.

Also, at the moment the unit test takes an ROBackend as an argument for
the constructor, not sure whether this will be the final solution.
2024-07-30 15:22:03 -07:00

136 lines
4.3 KiB
CMake

###############################################################################
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
###############################################################################
cmake_minimum_required(VERSION 3.16.3 FATAL_ERROR)
###############################################################################
# GLOBAL COMPILE FLAGS
###############################################################################
if (NOT DEFINED CMAKE_CXX_COMPILER)
set(CMAKE_CXX_COMPILER /opt/rocm/bin/hipcc)
endif()
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb")
###############################################################################
# DEFAULT BUILD TYPE
###############################################################################
if(NOT CMAKE_BUILD_TYPE)
message(STATUS "CMAKE_BUILD_TYPE unspecified: generating Release build")
set(
CMAKE_BUILD_TYPE
"Release"
CACHE
STRING
"build type: Release, Debug, RelWithDebInfo, MinSizeRel"
FORCE
)
endif()
###############################################################################
# PROJECT
###############################################################################
project(rocshmem_unit_tests VERSION 1.0.0 LANGUAGES CXX)
###############################################################################
# SOURCES
###############################################################################
add_executable(${PROJECT_NAME} "")
target_include_directories(
${PROJECT_NAME}
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/../../library
)
target_sources(
${PROJECT_NAME}
PRIVATE
shmem_gtest.cpp
heap_memory_gtest.cpp
bin_gtest.cpp
binner_gtest.cpp
#bitwise_gtest.cpp # Test is disabled becasue of compilation errors
address_record_gtest.cpp
index_strategy_gtest.cpp
single_heap_gtest.cpp
#slab_heap_gtest.cpp # Test is disabled because class unused
symmetric_heap_gtest.cpp
pow2_bins_gtest.cpp
remote_heap_info_gtest.cpp
mpi_init_singleton_gtest.cpp
#spin_ebo_block_mutex_gtest.cpp
abql_block_mutex_gtest.cpp
notifier_gtest.cpp
#forward_list_gtest.cpp
free_list_gtest.cpp
context_ipc_gtest.cpp
)
###############################################################################
# ROCSHMEM DEPENDENCY
###############################################################################
find_package(hip REQUIRED)
target_include_directories(
${PROJECT_NAME}
PRIVATE
rocshmem::rocshmem
)
target_link_libraries(
${PROJECT_NAME}
PRIVATE
rocshmem::rocshmem
hip::host
-fgpu-rdc
)
###############################################################################
# GTEST DEPENDENCY
###############################################################################
include(FetchContent)
FetchContent_Declare(
googletest
PREFIX extern/googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG release-1.10.0
)
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
set(BUILD_GMOCK OFF CACHE BOOL "" FORCE)
set(BUILD_GTEST ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
target_link_libraries(
${PROJECT_NAME}
PRIVATE
gtest
gtest_main
)