##########################################
########## INTEGRATION TESTING ###########
##########################################

file(GLOB_RECURSE INTEGRATION_TEST_SOURCES CONFIGURE_DEPENDS
     "${CMAKE_CURRENT_SOURCE_DIR}/*.c")

foreach(test_src ${INTEGRATION_TEST_SOURCES})
    
    get_filename_component(test_name ${test_src} NAME_WE)
    get_filename_component(test_dir ${test_src} DIRECTORY)

    file(RELATIVE_PATH rel_dir ${CMAKE_CURRENT_SOURCE_DIR} ${test_dir})
    string(REPLACE "/" "_" rel_dir_safe ${rel_dir})
    set(full_test_name "${rel_dir_safe}_${test_name}")

    add_executable(${full_test_name} ${test_src})

    target_include_directories(
    ${full_test_name}
    PRIVATE
        ${SLURM_INCLUDE_DIR}
    )
    
    target_link_libraries(${full_test_name}
        PRIVATE
            ${LIB_NAME}
            ${SLURM_LIB_DIR}/lib${SLURM_LIB_NAME}.so
    )

    # === DLB linking ===
    if(TALP_ENABLED)
    target_include_directories(${full_test_name} PRIVATE ${DLB_INCLUDE_DIR})
    target_link_libraries(
        ${full_test_name}
        PRIVATE
        ${DLB_LIBRARY_DIR}/libdlb.so
    )
    endif()

endforeach()