summaryrefslogtreecommitdiffstats
path: root/build/SConscript.googleurl
blob: 4407afca31c3ac012767042ddfd95d4e6a70c99d (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
# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

Import('env')

env = env.Clone()

env.Prepend(
    CPPPATH = [
        '$ICU38_DIR/public/common',
        '$ICU38_DIR/public/i18n',
        '#/..',
    ],
)

env.Append(
    CPPDEFINES = [
        'U_STATIC_IMPLEMENTATION',
    ],
)

if env['PLATFORM'] == 'win32':
  env.Append(
      CCFLAGS = [
          '/TP',
      ],
  )

lib_input_files = [
    'src/gurl.cc',
    'src/url_canon_etc.cc',
    'src/url_canon_fileurl.cc',
    'src/url_canon_host.cc',
    'src/url_canon_icu.cc',
    'src/url_canon_internal.cc',
    'src/url_canon_ip.cc',
    'src/url_canon_mailtourl.cc',
    'src/url_canon_path.cc',
    'src/url_canon_pathurl.cc',
    'src/url_canon_query.cc',
    'src/url_canon_relative.cc',
    'src/url_canon_stdurl.cc',
    'src/url_parse.cc',
    'src/url_parse_file.cc',
    'src/url_util.cc',
]

env.ChromeStaticLibrary('googleurl', lib_input_files)

env_tests = env.Clone()

env_tests.Append(
    CPPPATH = [
        '$GTEST_DIR/include',
    ],
    CPPDEFINES = [
        'UNIT_TEST',
    ],
    LIBS = [
        'googleurl',
        'base',
        env_tests['ICU_LIBS'],  # TODO(sgk):  '$ICU_LIBS' when scons is fixed
        'gtest',
    ]
)

test_files = [
   'src/gurl_unittest.cc',
   'src/url_canon_unittest.cc',
   'src/url_parse_unittest.cc',
   'src/url_util_unittest.cc',
   # The version of gtest that googleurl uses provides a main() function; ours
   # doesn't so include our own main function.
   env_tests.ChromeObject('run_all_unittests',
                          '$OBJ_ROOT/base/run_all_unittests.cc'),
]

# The version of gtest that googleurl uses provides a main() function; ours
# doesn't so include our own main function.
gurl_unittests = env_tests.ChromeTestProgram('googleurl_unittests', test_files)

installed_gurl_unittests = env.Replicate('$MAIN_DIR/Hammer', gurl_unittests)

env.Alias('googleurl', installed_gurl_unittests)