cmake_minimum_required(VERSION 3.15) project(OpenGLEngineTests) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) get_filename_component(PROJECT_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../.. ABSOLUTE) find_package(OpenGL REQUIRED) include_directories(${CMAKE_SOURCE_DIR}/tests/OpenGL/package/include/) include_directories(${PROJECT_ROOT_DIR}/engine/include) include_directories(${PROJECT_ROOT_DIR}/engine/src) link_directories(${CMAKE_SOURCE_DIR}/tests/OpenGL/package/lib/) find_package(GTest REQUIRED) set(TEST_SOURCES ${CMAKE_SOURCE_DIR}/tests/OpenGL/package/src/glad.c fixtures/OpenGLTestFixture.cpp # test_device.cpp # RHIDeviceInfo 不匹配 # test_buffer.cpp # test_fence.cpp # test_texture.cpp # OpenGLTexture 缺少 GetType # test_sampler.cpp # SamplerDesc 类型不匹配 # test_shader.cpp # test_pipeline_state.cpp # BlendFunc 枚举问题 test_vertex_array.cpp test_command_list.cpp # test_render_target_view.cpp # 结构体重定义 # test_depth_stencil_view.cpp # 结构体重定义 test_swap_chain.cpp ) add_executable(opengl_engine_tests ${TEST_SOURCES}) target_link_libraries(opengl_engine_tests PRIVATE opengl32 glfw3 XCEngine GTest::gtest GTest::gtest_main ) target_include_directories(opengl_engine_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/fixtures ${PROJECT_ROOT_DIR}/engine/include ${PROJECT_ROOT_DIR}/engine/src ) target_compile_definitions(opengl_engine_tests PRIVATE TEST_RESOURCES_DIR="${PROJECT_ROOT_DIR}/tests/RHI/OpenGL/Res" ) enable_testing() add_test(NAME OpenGLEngineTests COMMAND opengl_engine_tests)