# -*- mode: python -*-

Import("env")

env = env.Clone()

env.Library(
    target='views',
    source=[
        'util.cpp',
        'view.cpp',
        'view_graph.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/query/collation/collator_factory_interface',
        '$BUILD_DIR/mongo/util/namespace_string_database_name_util',
    ],
)

env.Library(
    target='view_catalog_helpers',
    source=[
        'view_catalog_helpers.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/catalog/collection_catalog',
        '$BUILD_DIR/mongo/db/pipeline/aggregation',
        'resolved_view',
        'views',
    ],
)

env.Library(
    target='resolved_view',
    source=[
        'resolved_view.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/pipeline/aggregation_request_helper',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/timeseries/timeseries_conversion_util',
        '$BUILD_DIR/mongo/db/timeseries/timeseries_options',
    ],
)

env.CppUnitTest(
    target='db_views_test',
    source=[
        'resolved_view_test.cpp',
        'view_catalog_test.cpp',
        'view_definition_test.cpp',
        'view_graph_test.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/auth/authmocks',
        '$BUILD_DIR/mongo/db/catalog/catalog_test_fixture',
        '$BUILD_DIR/mongo/db/multitenancy',
        '$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/db/shard_role',
        '$BUILD_DIR/mongo/s/is_mongos',
        '$BUILD_DIR/mongo/unittest/unittest',
        'view_catalog_helpers',
        'views',
    ],
)
