
set(assignment_HEADERS
  calc.hpp
  json_output.hpp
  proto_loader.hpp
  spatial_grid.hpp)

set(assignment_SOURCES
  calc.cpp
  json_output.cpp
  proto_loader.cpp)

add_library(assignment ${assignment_SOURCES} ${assignment_HEADERS})
set_target_properties(assignment PROPERTIES PUBLIC_HEADER "${assignment_HEADERS}")
target_link_libraries(assignment PRIVATE proto ${PROTOBUF_LIBRARY} )
target_link_libraries(assignment PUBLIC nlohmann_json::nlohmann_json)

add_executable(main main.cpp)
target_link_libraries(main assignment)

