# -*- mode: python -*- Import('env') env.Library( target='aggregation', source=[ ], LIBDEPS=[ 'aggregation_request', 'document_source', 'document_source_facet', 'expression_context', 'pipeline', ] ) env.Library( target='field_path', source=[ 'field_path.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/util/foundation', ] ) env.CppUnitTest( target='field_path_test', source='field_path_test.cpp', LIBDEPS=[ 'field_path', ], ) env.Library( target='document_value', source=[ 'document.cpp', 'value.cpp', ], LIBDEPS=[ 'field_path', '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/util/foundation', '$BUILD_DIR/mongo/util/intrusive_counter', ] ) env.CppUnitTest( target='document_value_test', source='document_value_test.cpp', LIBDEPS=[ 'document_value', ], ) env.Library( target='aggregation_request', source=[ 'aggregation_request.cpp', ], LIBDEPS=[ 'document_value', '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/query/command_request_response', '$BUILD_DIR/mongo/db/namespace_string', '$BUILD_DIR/mongo/db/query/query_request', '$BUILD_DIR/mongo/db/repl/read_concern_args', '$BUILD_DIR/mongo/db/storage/storage_options', ] ) env.CppUnitTest( target='aggregation_request_test', source='aggregation_request_test.cpp', LIBDEPS=[ 'aggregation_request', ], ) env.Library( target='expression_context', source=[ 'expression_context.cpp', ], LIBDEPS=[ 'aggregation_request', '$BUILD_DIR/mongo/db/query/collation/collator_factory_interface', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/util/intrusive_counter', ] ) env.CppUnitTest( target='document_source_test', source='document_source_test.cpp', LIBDEPS=[ 'document_source', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/util/clock_source_mock', '$BUILD_DIR/mongo/executor/thread_pool_task_executor', '$BUILD_DIR/mongo/executor/network_interface_thread_pool', '$BUILD_DIR/mongo/executor/network_interface_factory' ], ) env.Library( target='dependencies', source=[ 'dependencies.cpp', ], LIBDEPS=[ 'document_value', 'field_path', ] ) env.Library( target='expression', source=[ 'expression.cpp', ], LIBDEPS=[ 'dependencies', 'document_value', '$BUILD_DIR/mongo/util/summation', ] ) env.Library( target='accumulator', source=[ 'accumulator.cpp', 'accumulator_add_to_set.cpp', 'accumulator_avg.cpp', 'accumulator_first.cpp', 'accumulator_last.cpp', 'accumulator_min_max.cpp', 'accumulator_push.cpp', 'accumulator_std_dev.cpp', 'accumulator_sum.cpp', ], LIBDEPS=[ 'document_value', '$BUILD_DIR/mongo/util/summation', 'expression', 'field_path', ] ) docSourceEnv = env.Clone() docSourceEnv.InjectThirdPartyIncludePaths(libraries=['snappy']) docSourceEnv.Library( target='document_source', source=[ 'document_source.cpp', 'document_source_bucket.cpp', 'document_source_coll_stats.cpp', 'document_source_count.cpp', 'document_source_geo_near.cpp', 'document_source_graph_lookup.cpp', 'document_source_group.cpp', 'document_source_index_stats.cpp', 'document_source_limit.cpp', 'document_source_lookup.cpp', 'document_source_match.cpp', 'document_source_merge_cursors.cpp', 'document_source_mock.cpp', 'document_source_out.cpp', 'document_source_project.cpp', 'document_source_redact.cpp', 'document_source_sample.cpp', 'document_source_sample_from_random_cursor.cpp', 'document_source_skip.cpp', 'document_source_sort.cpp', 'document_source_sort_by_count.cpp', 'document_source_unwind.cpp', ], LIBDEPS=[ 'accumulator', 'dependencies', 'document_value', 'expression', 'expression_context', 'parsed_aggregation_projection', '$BUILD_DIR/mongo/client/clientdriver', '$BUILD_DIR/mongo/db/bson/dotted_path_support', '$BUILD_DIR/mongo/db/matcher/expressions', '$BUILD_DIR/mongo/db/matcher/expression_algo', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/stats/top', '$BUILD_DIR/mongo/db/storage/storage_options', '$BUILD_DIR/mongo/db/storage/wiredtiger/storage_wiredtiger_customization_hooks', '$BUILD_DIR/third_party/shim_snappy', ], LIBDEPS_TAGS=[ # Inclusion of sorter.cpp causes a dependency on mongo::isMongos, # which is not uniquely defined 'incomplete' ], ) env.Library( target='pipeline', source=[ 'pipeline.cpp', ], LIBDEPS=[ 'dependencies', 'document_source', 'document_value', 'expression_context', '$BUILD_DIR/mongo/db/auth/authorization_manager_global', '$BUILD_DIR/mongo/db/auth/authcore', '$BUILD_DIR/mongo/db/bson/dotted_path_support', '$BUILD_DIR/mongo/db/query/collation/collator_interface', '$BUILD_DIR/mongo/db/query/collation/collator_factory_interface', '$BUILD_DIR/mongo/db/repl/read_concern_args', '$BUILD_DIR/mongo/db/storage/storage_options', ] ) env.Library( target='document_source_facet', source=[ 'document_source_facet.cpp', 'tee_buffer.cpp', 'document_source_tee_consumer.cpp', ], LIBDEPS=[ 'document_source', 'pipeline', ] ) env.CppUnitTest( target='document_source_facet_test', source='document_source_facet_test.cpp', LIBDEPS=[ 'document_source_facet', '$BUILD_DIR/mongo/db/auth/authorization_manager_mock_init', '$BUILD_DIR/mongo/db/query/query_test_service_context', '$BUILD_DIR/mongo/db/service_context_noop_init', ], ) env.CppUnitTest( target='tee_buffer_test', source='tee_buffer_test.cpp', LIBDEPS=[ 'document_source_facet', '$BUILD_DIR/mongo/db/auth/authorization_manager_mock_init', '$BUILD_DIR/mongo/db/service_context_noop_init', ], ) env.CppUnitTest( target='agg_expression_test', source='expression_test.cpp', LIBDEPS=[ 'accumulator', 'expression', ], ) env.CppUnitTest( target='accumulator_test', source='accumulator_test.cpp', LIBDEPS=[ 'accumulator', ], ) env.CppUnitTest( target='pipeline_test', source='pipeline_test.cpp', LIBDEPS=[ 'pipeline', '$BUILD_DIR/mongo/db/auth/authorization_manager_mock_init', '$BUILD_DIR/mongo/db/query/collation/collator_interface_mock', '$BUILD_DIR/mongo/db/query/query_test_service_context', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/service_context_noop_init', ], ) env.CppUnitTest( target='lookup_set_cache_test', source=[ 'lookup_set_cache_test.cpp', ], LIBDEPS=[ 'document_value', '$BUILD_DIR/mongo/base', ] ) env.Library( target='parsed_aggregation_projection', source=[ 'parsed_aggregation_projection.cpp', 'parsed_exclusion_projection.cpp', 'parsed_inclusion_projection.cpp', ], LIBDEPS=[ 'expression', 'field_path', '$BUILD_DIR/mongo/db/matcher/expression_algo', ] ) env.CppUnitTest( target='parsed_exclusion_projection_test', source='parsed_exclusion_projection_test.cpp', LIBDEPS=[ 'parsed_aggregation_projection', ], ) env.CppUnitTest( target='parsed_aggregation_projection_test', source='parsed_aggregation_projection_test.cpp', LIBDEPS=[ 'parsed_aggregation_projection', ], ) env.CppUnitTest( target='parsed_inclusion_projection_test', source='parsed_inclusion_projection_test.cpp', LIBDEPS=[ 'parsed_aggregation_projection', ], ) env.Library( target='serveronly', source=[ 'document_source_cursor.cpp', 'pipeline_d.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/catalog/document_validation', '$BUILD_DIR/mongo/db/db_raii', '$BUILD_DIR/mongo/db/dbdirectclient', '$BUILD_DIR/mongo/db/index/index_access_methods', '$BUILD_DIR/mongo/db/matcher/expressions_mongod_only', ], )