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
|
{
'targets': [
{
'target_name': 'benchmark-lib',
'type': 'static_library',
'standalone_static_library': 1,
'hard_dependency': 1,
'dependencies': [
'core',
],
'include_dirs': [
'../include',
'../src',
'../platform/default',
'include',
'src',
],
'sources': [
'parse/filter.cpp',
'src/mbgl/benchmark/benchmark.cpp'
],
'variables': {
'cflags_cc': [
'<@(benchmark_cflags)',
'<@(rapidjson_cflags)',
],
'ldflags': [
'<@(benchmark_ldflags)',
],
'libraries': [
'<@(benchmark_static_libs)',
],
},
'conditions': [
['OS == "mac"', {
'xcode_settings': {
'OTHER_CPLUSPLUSFLAGS': [ '<@(cflags_cc)' ],
},
}, {
'cflags_cc': [ '<@(cflags_cc)' ],
}],
],
'link_settings': {
'conditions': [
['OS == "mac"', {
'libraries': [ '<@(libraries)' ],
'xcode_settings': { 'OTHER_LDFLAGS': [ '<@(ldflags)' ] }
}, {
'libraries': [ '<@(libraries)', '<@(ldflags)' ],
}]
],
},
'direct_dependent_settings': {
'include_dirs': [
'include',
],
# Force the linker to include all the objects from the lib-benchmark archive. Otherwise they'd
# be discarded because there are no undefined symbols to pull them in, and the resulting
# executable would run zero tests.
'conditions': [
['OS == "mac"', {
'xcode_settings': {
'OTHER_LDFLAGS': [
'-Wl,-force_load,<(PRODUCT_DIR)/libbenchmark-lib.a',
],
}
}, {
'link_settings': {
'ldflags': [
'-Wl,-whole-archive <(PRODUCT_DIR)/libbenchmark-lib.a -Wl,-no-whole-archive',
],
},
}],
],
},
},
]
}
|