# -*- mode: python -*-

Import("env")

env = env.Clone()

env.Library(
    target='views_mongod',
    source=[
        'durable_view_catalog.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/dbhelpers',
        '$BUILD_DIR/mongo/db/views/views',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/catalog/database_holder',
    ],
)

env.Library(
    target='views',
    source=[
        'view.cpp',
        'view_catalog.cpp',
        'view_graph.cpp',
    ],
    LIBDEPS=[
        'resolved_view',
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/pipeline/aggregation',
        '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface',
        '$BUILD_DIR/mongo/db/query/collation/collator_factory_interface',
    ]
)

env.Library(
    target='resolved_view',
    source=[
        'resolved_view.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/base',
    ]
)

env.CppUnitTest(
    target='db_views_test',
    source=[
        'resolved_view_test.cpp',
        'view_catalog_test.cpp',
        'view_definition_test.cpp',
        'view_graph_test.cpp',
    ],
    LIBDEPS=[
        'views',
        'views_mongod',
        '$BUILD_DIR/mongo/db/auth/authmocks',
        '$BUILD_DIR/mongo/db/catalog/catalog_test_fixture',
        '$BUILD_DIR/mongo/db/query/collation/collator_interface_mock',
        '$BUILD_DIR/mongo/db/query/query_test_service_context',
        '$BUILD_DIR/mongo/db/repl/replmocks',
        '$BUILD_DIR/mongo/s/is_mongos',
        '$BUILD_DIR/mongo/unittest/unittest',
    ],
)
