# -*- mode: python; -*- Import('env') env = env.Clone() env.Library( target='path', source=[ 'path.cpp', 'path_internal.cpp' ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/common', ], ) env.CppUnitTest( target='path_test', source=[ 'path_test.cpp', ], LIBDEPS=[ 'path', ], ) env.Library( target='expressions', source=[ 'expression.cpp', 'expression_algo.cpp', 'expression_array.cpp', 'expression_expr.cpp', 'expression_geo.cpp', 'expression_internal_expr_eq.cpp', 'expression_leaf.cpp', 'expression_parser.cpp', 'expression_text_base.cpp', 'expression_text_noop.cpp', 'expression_tree.cpp', 'expression_type.cpp', 'expression_where_base.cpp', 'expression_where_noop.cpp', 'expression_with_placeholder.cpp', 'extensions_callback.cpp', 'extensions_callback_noop.cpp', 'match_details.cpp', 'matchable.cpp', 'matcher.cpp', 'matcher_type_set.cpp', 'rewrite_expr.cpp', 'schema/expression_internal_schema_all_elem_match_from_index.cpp', 'schema/expression_internal_schema_allowed_properties.cpp', 'schema/expression_internal_schema_cond.cpp', 'schema/expression_internal_schema_eq.cpp', 'schema/expression_internal_schema_fmod.cpp', 'schema/expression_internal_schema_match_array_index.cpp', 'schema/expression_internal_schema_num_array_items.cpp', 'schema/expression_internal_schema_num_properties.cpp', 'schema/expression_internal_schema_object_match.cpp', 'schema/expression_internal_schema_root_doc_eq.cpp', 'schema/expression_internal_schema_str_length.cpp', 'schema/expression_internal_schema_unique_items.cpp', 'schema/expression_internal_schema_xor.cpp', 'schema/json_pointer.cpp', 'schema/json_schema_parser.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/bson/util/bson_extract', '$BUILD_DIR/mongo/db/common', '$BUILD_DIR/mongo/db/fts/fts_query_noop', '$BUILD_DIR/mongo/db/geo/geometry', '$BUILD_DIR/mongo/db/geo/geoparser', '$BUILD_DIR/mongo/db/query/collation/collator_interface', '$BUILD_DIR/mongo/db/query/query_knobs', '$BUILD_DIR/mongo/db/pipeline/expression', '$BUILD_DIR/third_party/shim_pcrecpp', 'path', ], ) env.CppUnitTest( target='json_pointer_test', source=['schema/json_pointer_test.cpp'], LIBDEPS=[ 'expressions' ] ) env.CppUnitTest( target='expression_test', source=[ 'expression_always_boolean_test.cpp', 'expression_array_test.cpp', 'expression_expr_test.cpp', 'expression_geo_test.cpp', 'expression_internal_expr_eq_test.cpp', 'expression_leaf_test.cpp', 'expression_optimize_test.cpp', 'expression_parser_geo_test.cpp', 'expression_test.cpp', 'expression_tree_test.cpp', 'expression_type_test.cpp', 'expression_with_placeholder_test.cpp', 'path_accepting_keyword_test.cpp', 'schema/expression_internal_schema_all_elem_match_from_index_test.cpp', 'schema/expression_internal_schema_allowed_properties_test.cpp', 'schema/expression_internal_schema_cond_test.cpp', 'schema/expression_internal_schema_eq_test.cpp', 'schema/expression_internal_schema_fmod_test.cpp', 'schema/expression_internal_schema_match_array_index_test.cpp', 'schema/expression_internal_schema_max_items_test.cpp', 'schema/expression_internal_schema_max_length_test.cpp', 'schema/expression_internal_schema_max_properties_test.cpp', 'schema/expression_internal_schema_min_items_test.cpp', 'schema/expression_internal_schema_min_length_test.cpp', 'schema/expression_internal_schema_min_properties_test.cpp', 'schema/expression_internal_schema_object_match_test.cpp', 'schema/expression_internal_schema_root_doc_eq_test.cpp', 'schema/expression_internal_schema_unique_items_test.cpp', 'schema/expression_internal_schema_xor_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/query/collation/collator_interface_mock', '$BUILD_DIR/mongo/db/query/query_planner', '$BUILD_DIR/mongo/db/query/query_test_service_context', 'expressions', ], ) env.CppUnitTest( target='expression_parser_test', source=[ 'expression_parser_array_test.cpp', 'expression_parser_leaf_test.cpp', 'expression_parser_test.cpp', 'expression_parser_tree_test.cpp', 'matcher_type_set_test.cpp', 'schema/expression_parser_schema_test.cpp', 'schema/json_schema_parser_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/query/collation/collator_interface_mock', '$BUILD_DIR/mongo/db/query/query_test_service_context', 'expressions', ], ) env.CppUnitTest( target='expression_algo_test', source=[ 'expression_algo_test.cpp', 'rewrite_expr_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/query/collation/collator_interface_mock', '$BUILD_DIR/mongo/db/query/query_test_service_context', 'expressions', ], ) env.Library( target='expressions_mongod_only', source=[ 'extensions_callback_real.cpp', 'expression_text.cpp', 'expression_where.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/concurrency/lock_manager', '$BUILD_DIR/mongo/db/fts/base_fts', '$BUILD_DIR/mongo/scripting/scripting_server', 'expressions', '$BUILD_DIR/mongo/db/catalog/collection', '$BUILD_DIR/mongo/db/catalog/index_catalog', '$BUILD_DIR/mongo/db/catalog_raii', ], ) env.CppUnitTest( target='expression_serialization_test', source=[ 'expression_serialization_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/query/query_test_service_context', 'expressions', ], )