# -*- mode: python -*-

Import("env")

env.Library(
    target = "working_set",
    source = [
        "working_set.cpp",
    ],
    LIBDEPS = [
        "$BUILD_DIR/mongo/bson",
    ],
)

env.CppUnitTest(
    target = "working_set_test",
    source = [
        "working_set_test.cpp"
    ],
    LIBDEPS = [
        "working_set",
    ],
)

env.Library(
    target = "mock_stage",
    source = [
        "mock_stage.cpp",
    ],
    LIBDEPS = [
        "working_set",
    ],
)

env.Library(
    target = 'exec',
    source = [
        "2d.cpp",
        "2dcommon.cpp",
        "2dnear.cpp",
        "and_hash.cpp",
        "and_sorted.cpp",
        "collection_scan.cpp",
        "count.cpp",
        "distinct_scan.cpp",
        "fetch.cpp",
        "index_scan.cpp",
        "keep_mutations.cpp",
        "limit.cpp",
        "merge_sort.cpp",
        "oplogstart.cpp",
        "or.cpp",
        "projection.cpp",
        "projection_exec.cpp",
        "s2near.cpp",
        "shard_filter.cpp",
        "skip.cpp",
        "sort.cpp",
        "stagedebug_cmd.cpp",
        "text.cpp",
        "working_set_common.cpp",
    ],
    LIBDEPS = [
        "$BUILD_DIR/mongo/bson",
    ],
)

env.CppUnitTest(
    target = "sort_test",
    source = [
        "sort_test.cpp",
    ],
    LIBDEPS = [
        "exec",
        "mock_stage",
        "$BUILD_DIR/mongo/serveronly",
        "$BUILD_DIR/mongo/coreserver",
        "$BUILD_DIR/mongo/coredb",
        "$BUILD_DIR/mongo/mocklib",
    ],
    NO_CRUTCH = True,
)

env.CppUnitTest(
    target = "projection_exec_test",
    source = [
        "projection_exec_test.cpp",
    ],
    LIBDEPS = [
        "exec",
        "mock_stage",
        "$BUILD_DIR/mongo/serveronly",
        "$BUILD_DIR/mongo/coreserver",
        "$BUILD_DIR/mongo/coredb",
    ],
    NO_CRUTCH = True,
)
