set(source_files
    helper/application-container.cc
    helper/application-helper.cc
    helper/delay-jitter-estimation.cc
    helper/net-device-container.cc
    helper/node-container.cc
    helper/packet-socket-helper.cc
    helper/simple-net-device-helper.cc
    helper/trace-helper.cc
    model/address.cc
    model/application.cc
    model/buffer.cc
    model/byte-tag-list.cc
    model/channel-list.cc
    model/channel.cc
    model/chunk.cc
    model/header.cc
    model/net-device.cc
    model/nix-vector.cc
    model/node-list.cc
    model/node.cc
    model/packet-metadata.cc
    model/packet-tag-list.cc
    model/packet.cc
    model/socket-factory.cc
    model/socket.cc
    model/tag-buffer.cc
    model/tag.cc
    model/trailer.cc
    utils/address-utils.cc
    utils/bit-deserializer.cc
    utils/bit-serializer.cc
    utils/crc32.cc
    utils/data-rate.cc
    utils/drop-tail-queue.cc
    utils/dynamic-queue-limits.cc
    utils/error-channel.cc
    utils/error-model.cc
    utils/ethernet-header.cc
    utils/ethernet-trailer.cc
    utils/flow-id-tag.cc
    utils/inet-socket-address.cc
    utils/inet6-socket-address.cc
    utils/ipv4-address.cc
    utils/ipv6-address.cc
    utils/llc-snap-header.cc
    utils/mac16-address.cc
    utils/mac48-address.cc
    utils/mac64-address.cc
    utils/mac8-address.cc
    utils/net-device-queue-interface.cc
    utils/output-stream-wrapper.cc
    utils/packet-burst.cc
    utils/packet-data-calculators.cc
    utils/packet-probe.cc
    utils/packet-socket-address.cc
    utils/packet-socket-client.cc
    utils/packet-socket-factory.cc
    utils/packet-socket-server.cc
    utils/packet-socket.cc
    utils/packetbb.cc
    utils/pcap-file-wrapper.cc
    utils/pcap-file.cc
    utils/queue-item.cc
    utils/queue-limits.cc
    utils/queue-size.cc
    utils/queue.cc
    utils/radiotap-header.cc
    utils/simple-channel.cc
    utils/simple-net-device.cc
    utils/sll-header.cc
    utils/timestamp-tag.cc
)

set(header_files
    helper/application-container.h
    helper/application-helper.h
    helper/delay-jitter-estimation.h
    helper/net-device-container.h
    helper/node-container.h
    helper/packet-socket-helper.h
    helper/simple-net-device-helper.h
    helper/trace-helper.h
    model/address.h
    model/application.h
    model/buffer.h
    model/byte-tag-list.h
    model/channel-list.h
    model/channel.h
    model/chunk.h
    model/header.h
    model/net-device.h
    model/nix-vector.h
    model/node-list.h
    model/node.h
    model/packet-metadata.h
    model/packet-tag-list.h
    model/packet.h
    model/socket-factory.h
    model/socket.h
    model/tag-buffer.h
    model/tag.h
    model/trailer.h
    test/header-serialization-test.h
    utils/address-utils.h
    utils/bit-deserializer.h
    utils/bit-serializer.h
    utils/crc32.h
    utils/data-rate.h
    utils/drop-tail-queue.h
    utils/dynamic-queue-limits.h
    utils/error-channel.h
    utils/error-model.h
    utils/ethernet-header.h
    utils/ethernet-trailer.h
    utils/flow-id-tag.h
    utils/generic-phy.h
    utils/inet-socket-address.h
    utils/inet6-socket-address.h
    utils/ipv4-address.h
    utils/ipv6-address.h
    utils/llc-snap-header.h
    utils/lollipop-counter.h
    utils/mac16-address.h
    utils/mac48-address.h
    utils/mac64-address.h
    utils/mac8-address.h
    utils/net-device-queue-interface.h
    utils/output-stream-wrapper.h
    utils/packet-burst.h
    utils/packet-data-calculators.h
    utils/packet-probe.h
    utils/packet-socket-address.h
    utils/packet-socket-client.h
    utils/packet-socket-factory.h
    utils/packet-socket-server.h
    utils/packet-socket.h
    utils/packetbb.h
    utils/pcap-file-wrapper.h
    utils/pcap-file.h
    utils/pcap-test.h
    utils/queue-fwd.h
    utils/queue-item.h
    utils/queue-limits.h
    utils/queue-size.h
    utils/queue.h
    utils/radiotap-header.h
    utils/sequence-number.h
    utils/simple-channel.h
    utils/simple-net-device.h
    utils/sll-header.h
    utils/timestamp-tag.h
)

build_lib(
  LIBNAME network
  SOURCE_FILES ${source_files}
  HEADER_FILES ${header_files}
  LIBRARIES_TO_LINK ${libstats}
  TEST_SOURCES
    test/bit-serializer-test.cc
    test/buffer-test.cc
    test/drop-tail-queue-test-suite.cc
    test/error-model-test-suite.cc
    test/ipv6-address-test-suite.cc
    test/lollipop-counter-test.cc
    test/packet-metadata-test.cc
    test/packet-socket-apps-test-suite.cc
    test/packet-test-suite.cc
    test/packetbb-test-suite.cc
    test/pcap-file-test-suite.cc
    test/sequence-number-test-suite.cc
    test/test-data-rate.cc
)
