CPMAddPackage("gh:catchorg/Catch2@3.7.1")

list(APPEND CMAKE_MODULE_PATH ${catch2_SOURCE_DIR}/extras)

add_executable(OrmTests
  backend/test_backend_service.cpp
  backend/test_backend_service.hpp
  backend/test_connection.cpp
  backend/test_connection.hpp
  backend/test_parameter_binder.cpp
  backend/test_parameter_binder.hpp
  backend/test_result_reader.cpp
  backend/test_result_reader.hpp
  backend/test_statement.cpp
  backend/test_statement.hpp
  query/ColumnExpressionTest.cpp
  query/ColumnGeneratorTest.cpp
  query/CriteriaTests.cpp
  query/GeneratorTests.cpp
  query/InsertQueryBuilderTest.cpp
  query/QueryBuilderTest.cpp
  query/QueryFixture.cpp
  query/QueryFixture.hpp
  query/QueryTest.cpp
  query/SchemaTest.cpp
  query/SessionQueryBuilderTest.cpp
  query/TableColumnTest.cpp
  sql/ColumnTest.cpp
  sql/ConnectionPoolFixture.hpp
  sql/ConnectionPoolTest.cpp
  sql/FieldTest.cpp
  sql/StatementCacheTest.cpp
  utils/auto_reset_event.cpp
  utils/auto_reset_event.hpp
)

target_link_libraries(OrmTests matador-orm matador-core Catch2::Catch2WithMain)

#target_compile_options(OrmTests PRIVATE -coverage)
#target_link_options(OrmTests PRIVATE -coverage)

add_test(NAME OrmTests COMMAND OrmTests)
