find_package(gflags REQUIRED)

add_library(memgraph__e2e__triggers_common STATIC common.hpp common.cpp)
target_link_libraries(memgraph__e2e__triggers_common PUBLIC gflags mgclient mg-utils)

add_executable(memgraph__e2e__triggers__on_create on_create_triggers.cpp)
target_link_libraries(memgraph__e2e__triggers__on_create memgraph__e2e__triggers_common)

add_executable(memgraph__e2e__triggers__on_update on_update_triggers.cpp)
target_link_libraries(memgraph__e2e__triggers__on_update memgraph__e2e__triggers_common)

add_executable(memgraph__e2e__triggers__on_delete on_delete_triggers.cpp)
target_link_libraries(memgraph__e2e__triggers__on_delete memgraph__e2e__triggers_common)

add_executable(memgraph__e2e__triggers__privileges privilige_check.cpp)
target_link_libraries(memgraph__e2e__triggers__privileges memgraph__e2e__triggers_common)

add_subdirectory(procedures)

add_dependencies(memgraph__e2e__triggers__on_create memgraph__e2e__triggers__write.py)
add_dependencies(memgraph__e2e__triggers__on_update memgraph__e2e__triggers__write.py)
add_dependencies(memgraph__e2e__triggers__on_delete memgraph__e2e__triggers__write.py)

function(copy_triggers_e2e_python_files FILE_NAME)
    copy_e2e_python_files(triggers ${FILE_NAME})
endfunction()

copy_triggers_e2e_python_files(common.py)
copy_triggers_e2e_python_files(triggers_properties_false.py)

copy_e2e_files(triggers workloads.yaml)
