Files

113 lines
3.1 KiB
CMake

include(FetchContent)
include(GoogleTest)
if (NOT TARGET gtest)
FetchContent_Declare(googletest
URL https://github.com/google/googletest/archive/refs/tags/v1.17.0.tar.gz
URL_HASH SHA256=65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c
DOWNLOAD_EXTRACT_TIMESTAMP FALSE
EXCLUDE_FROM_ALL
)
FetchContent_MakeAvailable(googletest)
endif ()
if (AURORA_ENABLE_GX)
# GX FIFO round-trip tests
# Compile GX sources directly to avoid pulling in the full renderer/WebGPU runtime
add_executable(gx_fifo_tests
gx_fifo_test.cpp
gx_test_stubs.cpp
# GX API implementations (encoders)
../lib/dolphin/gx/GXBump.cpp
../lib/dolphin/gx/GXCull.cpp
../lib/dolphin/gx/GXCpu2Efb.cpp
../lib/dolphin/gx/GXDispList.cpp
../lib/dolphin/gx/GXDraw.cpp
../lib/dolphin/gx/GXExtra.cpp
../lib/dolphin/gx/GXFifo.cpp
../lib/dolphin/gx/GXFrameBuffer.cpp
../lib/dolphin/gx/GXGeometry.cpp
../lib/dolphin/gx/GXGet.cpp
../lib/dolphin/gx/GXLighting.cpp
../lib/dolphin/gx/GXManage.cpp
../lib/dolphin/gx/GXAurora.cpp
../lib/dolphin/gx/GXPerf.cpp
../lib/dolphin/gx/GXPixel.cpp
../lib/dolphin/gx/GXTev.cpp
../lib/dolphin/gx/GXTexture.cpp
../lib/dolphin/gx/GXTransform.cpp
../lib/dolphin/gx/GXVert.cpp
# FIFO/command processor (encoder + decoder)
../lib/gx/fifo.cpp
../lib/gx/command_processor.cpp
# Display list reader/optimizer
../lib/gx/attr_fmt.cpp
../lib/gx/dl.cpp
gx_dl_test.cpp
)
target_include_directories(gx_fifo_tests PRIVATE
../include
../lib
../lib/dolphin/gx
)
target_compile_definitions(gx_fifo_tests PRIVATE AURORA TARGET_PC)
target_link_libraries(gx_fifo_tests PRIVATE
gtest
gtest_main
fmt::fmt
xxhash
absl::flat_hash_map
absl::btree
dawn::dawncpp_headers
TracyClient
${AURORA_SDL3_TARGET}
)
gtest_discover_tests(gx_fifo_tests)
add_executable(render_worker_tests
render_worker_test.cpp
../lib/gfx/render_worker.cpp
)
target_include_directories(render_worker_tests PRIVATE
../include
../lib
)
target_compile_definitions(render_worker_tests PRIVATE AURORA TARGET_PC)
target_link_libraries(render_worker_tests PRIVATE
gtest
gtest_main
TracyClient
)
gtest_discover_tests(render_worker_tests)
endif () # AURORA_ENABLE_GX
# DVD API tests
if (TARGET aurora::dvd)
add_executable(dvd_tests test_dvd.cpp)
target_link_libraries(dvd_tests PRIVATE aurora::dvd gtest gtest_main)
# Pass disc image path as a compile definition if provided
if (DEFINED DVD_TEST_IMAGE AND EXISTS "${DVD_TEST_IMAGE}")
target_compile_definitions(dvd_tests PRIVATE DVD_TEST_IMAGE="${DVD_TEST_IMAGE}")
endif ()
gtest_discover_tests(dvd_tests)
endif ()
add_executable(os_alloc_tests
os_alloc_test.cpp
os_test_globals.cpp
../lib/dolphin/os/OSAlloc.cpp
../lib/logging.cpp
)
target_include_directories(os_alloc_tests PRIVATE
../include
)
target_compile_definitions(os_alloc_tests PRIVATE AURORA TARGET_PC)
target_link_libraries(os_alloc_tests PRIVATE gtest gtest_main fmt::fmt)
gtest_discover_tests(os_alloc_tests)