cmake_minimum_required(VERSION 3.15) 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 test_buffer.cpp test_fence.cpp test_texture.cpp test_shader.cpp test_pipeline_state.cpp test_vertex_array.cpp test_command_list.cpp test_render_target_view.cpp test_depth_stencil_view.cpp test_swap_chain.cpp test_sampler.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/integration/minimal/Res" ) add_custom_command(TARGET opengl_engine_tests POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_ROOT_DIR}/tests/RHI/OpenGL/integration/minimal/Res $/Res ) enable_testing() add_test(NAME OpenGLEngineTests COMMAND opengl_engine_tests)