find_package(Vulkan REQUIRED)
find_package(vma REQUIRED)
find_package(glfw3 REQUIRED)
find_package(Cmock REQUIRED)
find_package(stb REQUIRED)

add_definitions( -DRSE_TEST=1 )

add_executable(tests
src/main.c
src/mocks/vulkan/Mockvulkan_core.c
src/mocks/GLFW/Mockglfw3.c
src/mocks/vk_mem_alloc.c
src/math_tests.c
src/graphics_window_tests.c
src/graphics_vulkan_tests.c
${PROJECT_SOURCE_DIR}/graphics/src/window.c
${PROJECT_SOURCE_DIR}/graphics/src/vulkan_base.c
${PROJECT_SOURCE_DIR}/graphics/src/vulkan_pipeline.c
${PROJECT_SOURCE_DIR}/graphics/src/vulkan_commands.c
${PROJECT_SOURCE_DIR}/graphics/src/vulkan_buffers.c
${PROJECT_SOURCE_DIR}/graphics/src/vulkan_descriptors.c
${PROJECT_SOURCE_DIR}/graphics/src/graphics.c
${PROJECT_SOURCE_DIR}/graphics/src/math.c
${PROJECT_SOURCE_DIR}/graphics/src/mesh_controller.c
${PROJECT_SOURCE_DIR}/graphics/src/vulkan_commons.c
${PROJECT_SOURCE_DIR}/graphics/src/vulkan_image.c
${PROJECT_SOURCE_DIR}/graphics/src/text_renderer.c
${PROJECT_SOURCE_DIR}/utilities/src/logger.c
${PROJECT_SOURCE_DIR}/utilities/src/file_utils.c
${PROJECT_SOURCE_DIR}/utilities/src/task_linux.c
)


target_include_directories(tests PRIVATE
${CMAKE_SOURCE_DIR}
${glfw3_INCLUDE_DIR}
${Vulkan_INCLUDE_DIR}
${unity_INCLUDE_DIR}
${cmock_INCLUDE_DIR}
src/mocks/
${PROJECT_SOURCE_DIR}/graphics/
${PROJECT_SOURCE_DIR}/graphics/src/
${PROJECT_SOURCE_DIR}/utilities/
)

target_link_libraries(tests PRIVATE
${cmock}
${unity}
m
)
