# -*- mode: python -*- Import('env') env = env.Clone() env.Library( target='cst', source=[ 'bson_lexer.cpp', 'c_node.cpp', 'c_node_disambiguation.cpp', 'c_node_validation.cpp', 'compound_key.cpp', 'cst_match_translation.cpp', 'cst_pipeline_translation.cpp', 'cst_sort_translation.cpp', 'parser_gen.cpp', ], LIBDEPS=[ "$BUILD_DIR/mongo/base", '$BUILD_DIR/mongo/db/pipeline/pipeline', '$BUILD_DIR/mongo/db/pipeline/variable_validation', '$BUILD_DIR/mongo/db/query/datetime/date_time_support', ] ) env.CppUnitTest( target='cst_test', source=[ 'bson_lexer_test.cpp', 'cst_error_test.cpp', 'cst_expression_test.cpp', 'cst_find_project_test.cpp', 'cst_match_test.cpp', 'cst_match_translation_test.cpp', 'cst_sort_translation_test.cpp', 'cst_test.cpp', ], LIBDEPS=[ # $text depends on FTSAccessMethod. '$BUILD_DIR/mongo/db/index/index_access_methods', '$BUILD_DIR/mongo/db/matcher/expressions_mongod_only', '$BUILD_DIR/mongo/db/query/query_test_service_context', 'cst', ] ) env.CppUnitTest( target='cst_pipeline_translation_test', source=[ 'cst_literals_test.cpp', 'cst_pipeline_translation_test.cpp', 'cst_set_operator_translation_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/query/query_test_service_context', 'cst', ] ) env.Benchmark( target='cst_bm', source=[ 'cst_bm.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/pipeline/pipeline', '$BUILD_DIR/mongo/db/query/query_test_service_context', '$BUILD_DIR/mongo/unittest/unittest', '$BUILD_DIR/mongo/util/processinfo', 'cst', ], )