From f8573d2715ce80c085ef8420a5196a4a9428752e Mon Sep 17 00:00:00 2001 From: ssdfasd <2156608475@qq.com> Date: Fri, 20 Mar 2026 19:39:49 +0800 Subject: [PATCH] OpenGL: Refactor integration test with separate output directory --- tests/RHI/OpenGL/integration/CMakeLists.txt | 44 +--------------- .../OpenGL/integration/minimal/CMakeLists.txt | 51 +++++++++++++++++++ 2 files changed, 52 insertions(+), 43 deletions(-) create mode 100644 tests/RHI/OpenGL/integration/minimal/CMakeLists.txt diff --git a/tests/RHI/OpenGL/integration/CMakeLists.txt b/tests/RHI/OpenGL/integration/CMakeLists.txt index 0319f37f..d46d3308 100644 --- a/tests/RHI/OpenGL/integration/CMakeLists.txt +++ b/tests/RHI/OpenGL/integration/CMakeLists.txt @@ -2,50 +2,8 @@ cmake_minimum_required(VERSION 3.15) project(OpenGL_Integration) -set(ENGINE_ROOT_DIR ${CMAKE_SOURCE_DIR}/engine) - find_package(Python3 REQUIRED) enable_testing() -set(PACKAGE_DIR ${CMAKE_SOURCE_DIR}/tests/OpenGL/package) - -add_executable(OpenGL_Minimal - WIN32 - minimal/main.cpp - ${PACKAGE_DIR}/src/glad.c -) - -target_include_directories(OpenGL_Minimal PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/minimal - ${ENGINE_ROOT_DIR}/include - ${PACKAGE_DIR}/include -) - -target_link_libraries(OpenGL_Minimal PRIVATE - opengl32 - XCEngine -) - -target_compile_definitions(OpenGL_Minimal PRIVATE - UNICODE - _UNICODE -) - -add_custom_command(TARGET OpenGL_Minimal POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_CURRENT_SOURCE_DIR}/run_integration_test.py - $/ - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_CURRENT_SOURCE_DIR}/compare_ppm.py - $/ -) - -add_test(NAME OpenGL_Minimal_Integration - COMMAND ${Python3_EXECUTABLE} $/run_integration_test.py - $ - minimal.ppm - ${CMAKE_CURRENT_SOURCE_DIR}/minimal/GT.ppm - 5 - WORKING_DIRECTORY $ -) \ No newline at end of file +add_subdirectory(minimal) diff --git a/tests/RHI/OpenGL/integration/minimal/CMakeLists.txt b/tests/RHI/OpenGL/integration/minimal/CMakeLists.txt new file mode 100644 index 00000000..5a1127e1 --- /dev/null +++ b/tests/RHI/OpenGL/integration/minimal/CMakeLists.txt @@ -0,0 +1,51 @@ +cmake_minimum_required(VERSION 3.15) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + +project(OpenGL_Minimal) + +set(ENGINE_ROOT_DIR ${CMAKE_SOURCE_DIR}/engine) +set(PACKAGE_DIR ${CMAKE_SOURCE_DIR}/tests/OpenGL/package) + +add_executable(OpenGL_Minimal + WIN32 + main.cpp + ${PACKAGE_DIR}/src/glad.c +) + +target_include_directories(OpenGL_Minimal PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} + ${ENGINE_ROOT_DIR}/include + ${PACKAGE_DIR}/include +) + +target_link_libraries(OpenGL_Minimal PRIVATE + opengl32 + XCEngine +) + +target_compile_definitions(OpenGL_Minimal PRIVATE + UNICODE + _UNICODE +) + +add_custom_command(TARGET OpenGL_Minimal POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_SOURCE_DIR}/tests/RHI/OpenGL/integration/run_integration_test.py + $/ + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_SOURCE_DIR}/tests/RHI/OpenGL/integration/compare_ppm.py + $/ + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/GT.ppm + $/ +) + +add_test(NAME OpenGL_Minimal_Integration + COMMAND ${Python3_EXECUTABLE} $/run_integration_test.py + $ + minimal.ppm + ${CMAKE_CURRENT_SOURCE_DIR}/GT.ppm + 5 + WORKING_DIRECTORY $ +)