cmake_minimum_required(VERSION 3.15) project(XCEngineTests) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # ============================================================ # Test Configuration # ============================================================ option(ENABLE_COVERAGE "Enable code coverage" OFF) option(ENABLE_BENCHMARK "Enable benchmark tests" OFF) # ============================================================ # Dependencies # ============================================================ include(FetchContent) FetchContent_Declare( googletest GIT_REPOSITORY https://gitee.com/mirrors/googletest.git GIT_TAG v1.14.0 ) set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) FetchContent_MakeAvailable(googletest) enable_testing() # ============================================================ # Test Subdirectories # ============================================================ add_subdirectory(math) add_subdirectory(core) add_subdirectory(containers) add_subdirectory(memory) add_subdirectory(threading) add_subdirectory(debug) add_subdirectory(D3D12) add_subdirectory(RHI/D3D12) add_subdirectory(RHI/OpenGL) # ============================================================ # Test Summary # ============================================================ add_custom_target(print_tests COMMAND ${CMAKE_COMMAND} -E echo "===== XCEngine Test Suite =====" COMMAND ${CMAKE_CTEST_COMMAND} -N COMMENT "Available tests:" )