include(googletest)
enable_testing()
include(GoogleTest)

add_custom_target(fin_check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C ${CMAKE_CFG_INTDIR})
add_custom_target(fin_tests)

function(add_gtest TEST_NAME)
  message("Adding Test: " ${TEST_NAME})
  add_executable(test_${TEST_NAME} ${TEST_NAME}.cpp)
  add_dependencies(fin_tests test_${TEST_NAME})
  add_dependencies(fin_check test_${TEST_NAME})
  target_compile_options(test_${TEST_NAME} PRIVATE -Wno-global-constructors -Wno-undef)
  target_link_libraries(test_${TEST_NAME} gtest_main MIOpen ${Boost_LIBRARIES} hip::host $<BUILD_INTERFACE:roc::rocblas>)
  gtest_discover_tests(test_${TEST_NAME})
endfunction()

file(GLOB TESTS *.cpp)
foreach(TEST ${TESTS})
    get_filename_component(BASE_NAME ${TEST} NAME_WE)
    add_gtest(${BASE_NAME})
endforeach()
