mirror of
https://github.com/RPCSX/rpcsx.git
synced 2025-12-06 07:12:14 +01:00
53 lines
1.4 KiB
CMake
53 lines
1.4 KiB
CMake
# Tests and Benchmarks Configuration
|
|
cmake_minimum_required(VERSION 3.16)
|
|
project(MemoryTableTests)
|
|
|
|
# Add Google Benchmark as an external project if not found
|
|
find_package(benchmark QUIET)
|
|
|
|
if(NOT benchmark_FOUND)
|
|
include(FetchContent)
|
|
|
|
FetchContent_Declare(
|
|
googlebenchmark
|
|
GIT_REPOSITORY https://github.com/google/benchmark.git
|
|
GIT_TAG v1.9.4
|
|
)
|
|
|
|
# Disable benchmark tests and examples to speed up build
|
|
set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "Disable benchmark tests" FORCE)
|
|
set(BENCHMARK_ENABLE_GTEST_TESTS OFF CACHE BOOL "Disable Google Test for benchmark" FORCE)
|
|
set(BENCHMARK_ENABLE_WERROR OFF CACHE BOOL "Disable warnings as errors" FORCE)
|
|
|
|
FetchContent_MakeAvailable(googlebenchmark)
|
|
endif()
|
|
|
|
# Add Google Test for unit testing
|
|
find_package(GTest QUIET)
|
|
|
|
if(NOT GTest_FOUND)
|
|
include(FetchContent)
|
|
|
|
FetchContent_Declare(
|
|
googletest
|
|
GIT_REPOSITORY https://github.com/google/googletest.git
|
|
GIT_TAG v1.15.2
|
|
)
|
|
|
|
# Disable gtest installation
|
|
set(INSTALL_GTEST OFF CACHE BOOL "Disable gtest installation" FORCE)
|
|
set(gtest_force_shared_crt ON CACHE BOOL "Force shared CRT for gtest" FORCE)
|
|
|
|
FetchContent_MakeAvailable(googletest)
|
|
endif()
|
|
|
|
add_executable(gcn_shader_tests
|
|
gcn_shader_tests.cpp
|
|
)
|
|
|
|
target_link_libraries(gcn_shader_tests
|
|
gtest
|
|
gtest_main
|
|
gcn-shader
|
|
)
|