# -*- mode: python -*- Import("env") env = env.Clone() env.Command( target=[ 'feature_flag_test.idl', ], source=[ '#buildscripts/cheetah_source_generator.py', 'feature_flag_test.idl.tpl', '$BUILD_DIR/mongo/util/version/releases.yml', ], action=[ '$PYTHON ${SOURCES[0]} -o ${TARGETS[0]} ${SOURCES[1]} ${SOURCES[2]} ${MONGO_VERSION}', ], # Ensure that that SCons is used to produce this file rather than Ninja, to avoid spurious # dependency cycles due to how we manage generated sources with Ninja. NINJA_TEMPLATE=True, ) env.Library( target="idl_parser", source=[ 'command_generic_argument.cpp', 'generic_argument.idl', 'idl_parser.cpp' ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/commands/server_status_core', ] ) env.Library( target='server_parameter', source=[ 'server_parameter.cpp', 'server_parameter.idl', 'server_parameter_with_storage.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', 'idl_parser', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/util/options_parser/options_parser', ], ) env.Library( target='cluster_server_parameter', source=[ 'cluster_server_parameter.idl', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/logical_time', 'feature_flag', ], LIBDEPS_PRIVATE=[ 'idl_parser', ], ) env.Library( target='cluster_server_parameter_initializer', source=[ 'cluster_server_parameter_initializer.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/dbdirectclient', '$BUILD_DIR/mongo/db/repl/replica_set_aware_service', ] ) env.Library( target='cluster_server_parameter_op_observer', source=[ 'cluster_server_parameter_op_observer.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/dbdirectclient', '$BUILD_DIR/mongo/db/op_observer', 'cluster_server_parameter_initializer', ], ) env.Library( target='cluster_server_parameter_test_parameter', source=[ 'cluster_server_parameter_test.idl', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', 'cluster_server_parameter', ] ) env.CppUnitTest( target='cluster_server_parameter_op_observer_test', source=[ 'cluster_server_parameter_op_observer_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authmocks', '$BUILD_DIR/mongo/db/change_stream_options_manager', '$BUILD_DIR/mongo/db/repl/oplog', '$BUILD_DIR/mongo/db/repl/oplog_interface_local', '$BUILD_DIR/mongo/db/repl/replmocks', '$BUILD_DIR/mongo/db/repl/storage_interface_impl', '$BUILD_DIR/mongo/db/service_context_d_test_fixture', '$BUILD_DIR/mongo/util/signal_handlers', 'cluster_server_parameter_op_observer', 'cluster_server_parameter_test_parameter', ], ) env.CppUnitTest( target='cluster_server_parameter_initializer_test', source=[ 'cluster_server_parameter_initializer_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authmocks', '$BUILD_DIR/mongo/db/change_stream_options_manager', '$BUILD_DIR/mongo/db/repl/oplog', '$BUILD_DIR/mongo/db/repl/oplog_interface_local', '$BUILD_DIR/mongo/db/repl/replmocks', '$BUILD_DIR/mongo/db/repl/storage_interface_impl', '$BUILD_DIR/mongo/db/service_context_d_test_fixture', '$BUILD_DIR/mongo/util/signal_handlers', 'cluster_server_parameter_initializer', 'cluster_server_parameter_test_parameter', ], ) env.Library( target='feature_flag', source=[ 'feature_flag.cpp', 'feature_flag_test.idl', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', 'server_parameter', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/commands/feature_compatibility_parsers', '$BUILD_DIR/mongo/util/options_parser/options_parser', ], ) env.Library( target='basic_types', source=[ 'basic_types.idl', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', 'idl_parser', ], ) env.CppUnitTest( target='idl_test', source=[ 'config_option_test.cpp', 'command_generic_argument_test.cpp', 'feature_flag_test.cpp', 'idl_test.cpp', 'server_parameter_specialized_test.cpp', 'server_parameter_with_storage_test.cpp', 'config_option_no_init_test.idl', 'config_option_test.idl', 'server_parameter_specialized_test.idl', 'server_parameter_with_storage_test.idl', 'server_parameter_with_storage_test_structs.idl', 'unittest.idl', 'unittest_import.idl', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/auth/authprivilege', '$BUILD_DIR/mongo/db/namespace_string', '$BUILD_DIR/mongo/db/server_options_core', '$BUILD_DIR/mongo/idl/idl_parser', '$BUILD_DIR/mongo/util/cmdline_utils/cmdline_utils', '$BUILD_DIR/mongo/util/options_parser/options_parser', 'basic_types', 'cluster_server_parameter', 'feature_flag', 'server_parameter', ], )