
find_package(Qt6 COMPONENTS Test REQUIRED)
set(QT_TEST_TARGET Qt6::Test)

# define names
set(BINARY_NAME qtcsv_tests)

# instruct CMake to run moc automatically when needed.
set(CMAKE_AUTOMOC ON)

# add also the header part to source files. this is necessary for correct automoc
file(GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/*.h)

add_executable(${BINARY_NAME} ${SOURCE_FILES} )

TARGET_LINK_LIBRARIES(${BINARY_NAME} PRIVATE ${QT_TEST_TARGET} ${PROJECT_NAME})

# provide current project dir for projects header search path
target_include_directories(${BINARY_NAME} PRIVATE .)

# copy test files after build
add_custom_command(TARGET ${BINARY_NAME} POST_BUILD
                   COMMAND ${CMAKE_COMMAND} -E copy_directory
                   ${CMAKE_CURRENT_SOURCE_DIR}/data ${CMAKE_CURRENT_BINARY_DIR}/data)
