# -*- mode: python -*- Import('env') env = env.Clone() env.Library( target='aggregation', source=[ 'aggregation.cpp', ], LIBDEPS=[ 'aggregation_request', 'expression_context', 'pipeline', ] ) env.Library( target='field_path', source=[ 'field_path.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ] ) env.CppUnitTest( target='field_path_test', source='field_path_test.cpp', LIBDEPS=[ 'field_path', ], ) env.Library( target='document_value', source=[ 'document.cpp', 'document_comparator.cpp', 'document_path_support.cpp', 'value.cpp', 'value_comparator.cpp', ], LIBDEPS=[ 'field_path', '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/query/datetime/date_time_support', '$BUILD_DIR/mongo/util/intrusive_counter', ] ) env.Library( target='document_value_test_util', source=[ 'document_value_test_util.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/unittest/unittest', 'document_value', ], ) env.CppUnitTest( target='document_value_test', source=[ 'document_comparator_test.cpp', 'document_value_test.cpp', 'document_path_support_test.cpp', 'document_value_test_util_self_test.cpp', 'value_comparator_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/query/collation/collator_interface_mock', 'document_value', 'document_value_test_util', ], ) env.Library( target='aggregation_request', source=[ 'aggregation_request.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/namespace_string', '$BUILD_DIR/mongo/db/query/command_request_response', '$BUILD_DIR/mongo/db/query/explain_options', '$BUILD_DIR/mongo/db/query/query_request', '$BUILD_DIR/mongo/db/repl/read_concern_args', '$BUILD_DIR/mongo/db/storage/storage_options', '$BUILD_DIR/mongo/db/write_concern_options', 'document_sources_idl', 'document_value', ] ) env.CppUnitTest( target='aggregation_request_test', source='aggregation_request_test.cpp', LIBDEPS=[ 'aggregation_request', 'document_value_test_util', ], ) env.Library( target='expression_context', source=[ 'expression_context.cpp', 'variables.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.Library( target='dependencies', source=[ 'dependencies.cpp', ], LIBDEPS=[ 'document_value', 'field_path', ] ) env.Library( target='expression', source=[ 'expression.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/query/datetime/date_time_support', '$BUILD_DIR/mongo/db/server_options_core', '$BUILD_DIR/mongo/util/summation', 'dependencies', 'document_value', 'expression_context', ] ) env.Library( target='accumulator', source=[ 'accumulation_statement.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', 'accumulator_merge_objects.cpp' ], LIBDEPS=[ 'document_value', '$BUILD_DIR/mongo/util/summation', 'expression', 'field_path', ] ) env.Library( target='granularity_rounder', source=[ 'granularity_rounder.cpp', 'granularity_rounder_powers_of_two.cpp', 'granularity_rounder_preferred_numbers.cpp', ], LIBDEPS=[ 'document_value', 'expression', 'field_path', ] ) env.Library( target='document_source_mock', source=[ 'document_source_mock.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/query/query_test_service_context', 'pipeline', ] ) env.CppUnitTest( target='document_source_test', source=[ 'document_source_add_fields_test.cpp', 'document_source_bucket_auto_test.cpp', 'document_source_bucket_test.cpp', 'document_source_change_stream_test.cpp', 'document_source_check_resume_token_test.cpp', 'document_source_count_test.cpp', 'document_source_current_op_test.cpp', 'document_source_plan_cache_stats_test.cpp', 'document_source_exchange_test.cpp', 'document_source_geo_near_test.cpp', 'document_source_graph_lookup_test.cpp', 'document_source_group_test.cpp', 'document_source_limit_test.cpp', 'document_source_lookup_change_post_image_test.cpp', 'document_source_lookup_test.cpp', 'document_source_match_test.cpp', 'document_source_merge_cursors_test.cpp', 'document_source_mock_test.cpp', 'document_source_out_test.cpp', 'document_source_project_test.cpp', 'document_source_redact_test.cpp', 'document_source_replace_root_test.cpp', 'document_source_sample_test.cpp', 'document_source_skip_test.cpp', 'document_source_sort_by_count_test.cpp', 'document_source_sort_test.cpp', 'document_source_test.cpp', 'document_source_unwind_test.cpp', 'sequential_document_cache_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authmocks', '$BUILD_DIR/mongo/db/repl/oplog_entry', '$BUILD_DIR/mongo/db/repl/replmocks', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/executor/thread_pool_task_executor_test_fixture', '$BUILD_DIR/mongo/s/sharding_router_test_fixture', '$BUILD_DIR/mongo/util/clock_source_mock', 'document_source_mock', 'document_value_test_util', 'pipeline', ], ) env.CppUnitTest( target='document_source_facet_test', source='document_source_facet_test.cpp', LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authmocks', '$BUILD_DIR/mongo/db/service_context_test_fixture', '$BUILD_DIR/mongo/s/is_mongos', 'pipeline', 'document_source_mock', 'document_value_test_util', ], ) env.Library( target='lite_parsed_document_source', source=[ 'lite_parsed_document_source.cpp', ], LIBDEPS=[ 'aggregation_request', ] ) env.Library( target='mongo_process_common', source=[ 'mongo_process_common.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authorization_manager_global', '$BUILD_DIR/mongo/db/generic_cursor', 'field_path', ] ) env.Library( target='mongod_process_interface', source=[ 'mongod_process_interface.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/ops/write_ops_exec', '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/db/stats/top', '$BUILD_DIR/mongo/s/sharding_api', 'mongo_process_common', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/storage/backup_cursor_hooks', ], ) env.Library( target='mongos_process_interface', source=[ 'mongos_process_interface.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/s/query/async_results_merger', '$BUILD_DIR/mongo/s/sharding_router_api', 'mongo_process_common', ] ) pipelineeEnv = env.Clone() pipelineeEnv.InjectThirdPartyIncludePaths(libraries=['snappy']) pipelineeEnv.Library( target='pipeline', source=[ 'document_source.cpp', 'document_source_add_fields.cpp', 'document_source_bucket.cpp', 'document_source_bucket_auto.cpp', 'document_source_change_stream.cpp', 'document_source_change_stream_close_cursor.cpp', 'document_source_change_stream_transform.cpp', 'document_source_check_invalidate.cpp', 'document_source_check_resume_token.cpp', 'document_source_coll_stats.cpp', 'document_source_count.cpp', 'document_source_current_op.cpp', 'document_source_exchange.cpp', 'document_source_facet.cpp', 'document_source_geo_near.cpp', 'document_source_graph_lookup.cpp', 'document_source_group.cpp', 'document_source_index_stats.cpp', 'document_source_internal_inhibit_optimization.cpp', 'document_source_internal_split_pipeline.cpp', 'document_source_limit.cpp', 'document_source_list_cached_and_active_users.cpp', 'document_source_list_local_cursors.cpp', 'document_source_list_local_sessions.cpp', 'document_source_list_sessions.cpp', 'document_source_lookup.cpp', 'document_source_lookup_change_post_image.cpp', 'document_source_match.cpp', 'document_source_merge_cursors.cpp', 'document_source_update_on_add_shard.cpp', 'document_source_out.cpp', 'document_source_out_replace_coll.cpp', 'document_source_plan_cache_stats.cpp', 'document_source_project.cpp', 'document_source_redact.cpp', 'document_source_replace_root.cpp', 'document_source_sample.cpp', 'document_source_sample_from_random_cursor.cpp', 'document_source_sequential_document_cache.cpp', 'document_source_single_document_transformation.cpp', 'document_source_skip.cpp', 'document_source_sort.cpp', 'document_source_sort_by_count.cpp', 'document_source_tee_consumer.cpp', 'document_source_unwind.cpp', 'pipeline.cpp', 'sequential_document_cache.cpp', 'stage_constraints.cpp', 'tee_buffer.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/client/clientdriver_minimal', '$BUILD_DIR/mongo/db/auth/authorization_manager_global', '$BUILD_DIR/mongo/db/bson/dotted_path_support', '$BUILD_DIR/mongo/db/curop', '$BUILD_DIR/mongo/db/generic_cursor', '$BUILD_DIR/mongo/db/index/key_generator', '$BUILD_DIR/mongo/db/logical_session_cache', '$BUILD_DIR/mongo/db/logical_session_id_helpers', '$BUILD_DIR/mongo/db/matcher/expressions', '$BUILD_DIR/mongo/db/pipeline/lite_parsed_document_source', '$BUILD_DIR/mongo/db/query/collation/collator_factory_interface', '$BUILD_DIR/mongo/db/query/collation/collator_interface', '$BUILD_DIR/mongo/db/repl/oplog_entry', '$BUILD_DIR/mongo/db/repl/read_concern_args', '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/sessions_collection', '$BUILD_DIR/mongo/db/storage/encryption_hooks', '$BUILD_DIR/mongo/db/storage/storage_options', '$BUILD_DIR/mongo/s/is_mongos', '$BUILD_DIR/mongo/s/query/async_results_merger', '$BUILD_DIR/third_party/shim_snappy', 'accumulator', 'dependencies', 'document_sources_idl', 'document_value', 'expression', 'expression_context', 'granularity_rounder', 'parsed_aggregation_projection', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/commands/test_commands_enabled', ] ) env.CppUnitTest( target='tee_buffer_test', source='tee_buffer_test.cpp', LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authmocks', '$BUILD_DIR/mongo/s/is_mongos', 'document_source_mock', 'document_value_test_util', ], ) env.CppUnitTest( target='agg_expression_test', source=[ 'expression_convert_test.cpp', 'expression_date_test.cpp', 'expression_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/query/query_test_service_context', '$BUILD_DIR/mongo/db/service_context_test_fixture', 'accumulator', 'document_value_test_util', 'expression', ], ) env.CppUnitTest( target='accumulator_test', source='accumulator_test.cpp', LIBDEPS=[ '$BUILD_DIR/mongo/db/query/collation/collator_interface_mock', '$BUILD_DIR/mongo/db/query/query_test_service_context', 'accumulator', 'document_value_test_util', ], ) env.CppUnitTest( target='pipeline_test', source=[ 'dependencies_test.cpp', 'pipeline_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authmocks', '$BUILD_DIR/mongo/db/query/collation/collator_interface_mock', '$BUILD_DIR/mongo/db/repl/replmocks', '$BUILD_DIR/mongo/db/service_context_test_fixture', '$BUILD_DIR/mongo/s/is_mongos', '$BUILD_DIR/mongo/s/query/cluster_aggregate', 'document_source_mock', 'document_value_test_util', 'pipeline', ], ) env.CppUnitTest( target='lookup_set_cache_test', source=[ 'lookup_set_cache_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/query/collation/collator_interface_mock', 'document_value', ] ) env.Library( target='parsed_aggregation_projection', source=[ 'parsed_aggregation_projection.cpp', 'parsed_exclusion_projection.cpp', 'parsed_inclusion_projection.cpp', 'parsed_add_fields.cpp', ], LIBDEPS=[ 'expression', 'field_path', '$BUILD_DIR/mongo/db/matcher/expressions', ] ) env.CppUnitTest( target='parsed_exclusion_projection_test', source='parsed_exclusion_projection_test.cpp', LIBDEPS=[ '$BUILD_DIR/mongo/db/query/query_test_service_context', 'document_value_test_util', 'parsed_aggregation_projection', ], ) env.CppUnitTest( target='parsed_aggregation_projection_test', source='parsed_aggregation_projection_test.cpp', LIBDEPS=[ '$BUILD_DIR/mongo/db/query/query_test_service_context', 'parsed_aggregation_projection', ], ) env.CppUnitTest( target='parsed_inclusion_projection_test', source='parsed_inclusion_projection_test.cpp', LIBDEPS=[ '$BUILD_DIR/mongo/db/query/query_test_service_context', 'document_value_test_util', 'parsed_aggregation_projection', ], ) env.CppUnitTest( target='granularity_rounder_test', source=[ 'granularity_rounder_powers_of_two_test.cpp', 'granularity_rounder_preferred_numbers_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/query/query_test_service_context', 'document_value_test_util', 'granularity_rounder', ], ) env.CppUnitTest( target='parsed_add_fields_test', source='parsed_add_fields_test.cpp', LIBDEPS=[ '$BUILD_DIR/mongo/db/query/query_test_service_context', 'document_value_test_util', 'parsed_aggregation_projection', ], ) env.Library( target='document_sources_idl', source=[ env.Idlc('document_source_change_stream.idl')[0], env.Idlc('document_source_list_sessions.idl')[0], env.Idlc('document_source_out.idl')[0], env.Idlc('exchange_spec.idl')[0], 'resume_token.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/storage/key_string', '$BUILD_DIR/mongo/idl/idl_parser', 'document_value', ], ) env.CppUnitTest( target='resume_token_test', source='resume_token_test.cpp', LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authmocks', 'document_sources_idl', ], )