def options(ctx): pass

def configure(ctx): pass

def build(bld):
  sources = [
      'aggregator.cpp',
      'burst.cpp',
      'engine.cpp',
      'burst_result.cpp',
      'result_storage.cpp',
      ]
  headers = [
      'aggregator.hpp',
      'burst.hpp',
      'burst_result.hpp',
      'engine.hpp',
      'input_window.hpp',
      'result_storage.hpp',
      'result_window.hpp',
      'window_intersection.hpp',
      'window_fwd.hpp',
      ]
  use = ['jubatus_util']

  bld.core_sources.extend(bld.add_prefix(sources))
  bld.core_headers.extend(bld.add_prefix(headers))
  bld.core_use.extend(use)

  tests = [
      'aggregator_test.cpp',
      'burst_test.cpp',
      'burst_result_test.cpp',
      'engine_test.cpp',
      'input_window_test.cpp',
      'result_storage_test.cpp',
      'result_window_test.cpp',
      'window_intersection_test.cpp',
      ]

  for test in tests:
    bld.program(
      features = 'gtest',
      source = test,
      target = test[0:test.rfind('.')],
      includes = '.',
      use = ['jubatus_util', 'jubatus_core'])
