summaryrefslogtreecommitdiff
path: root/src/mongo/util/options_parser/SConscript
blob: ce5083bd1e8e8d6278d9945163a70954f98e19b5 (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
# -*- mode: python -*-

Import("env")

env = env.Clone()

optsEnv = env.Clone()
optsEnv.InjectThirdPartyIncludePaths(libraries=['yaml'])

optsEnv.Library(
    target='options_parser',
    source=[
        'constraints.cpp',
        'environment.cpp',
        'option_description.cpp',
        'option_section.cpp',
        'options_parser.cpp',
        'startup_option_init.cpp',
        'startup_options.cpp',
        'value.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/third_party/shim_yaml',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/util/net/http_client',
        '$BUILD_DIR/mongo/util/net/network',
        '$BUILD_DIR/third_party/shim_boost',
        '$BUILD_DIR/third_party/shim_pcrecpp',
    ],
)

# This library contains the initializers to run option parsing.  This is separated into its own
# library because some code that is shared between many different binaries needs to link against the
# options_parser library, but not all these binaries need to actually run the option parsing.
# Linking against this library will cause the option parsing initializer to actually be run.
env.Library('options_parser_init', ['options_parser_init.cpp'],
                                    LIBDEPS=['options_parser'])

env.CppUnitTest('options_parser_test',
                'options_parser_test.cpp',
                LIBDEPS=['options_parser', '$BUILD_DIR/mongo/unittest/unittest'])

env.CppUnitTest('environment_test',
                'environment_test.cpp',
                LIBDEPS=['options_parser', '$BUILD_DIR/mongo/unittest/unittest'])