summaryrefslogtreecommitdiff
path: root/src/mongo/idl/SConscript
blob: d08bc0adecf9370d0c1f790bd4f22c057763d764 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# -*- 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/base',
        '$BUILD_DIR/mongo/db/logical_time',
    ],
    LIBDEPS_PRIVATE=[
        'feature_flag',
        'idl_parser',
        'server_parameter',
    ],
)

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',
    ],
)

env.CppUnitTest(
    target='cluster_server_parameter_test',
    source=[
        'cluster_server_parameter_test.idl',
        'cluster_server_parameter_op_observer_test.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/auth/authmocks',
        '$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',
        'cluster_server_parameter_op_observer',
    ],
)

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',
        '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',
    ],
)