• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2012 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
6  'variables': {
7    'chromium_code': 1,
8  },
9  'targets': [
10    {
11      'target_name': 'sql',
12      'type': '<(component)',
13      'dependencies': [
14        '../base/base.gyp:base',
15        '../third_party/sqlite/sqlite.gyp:sqlite',
16        '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
17      ],
18      'export_dependent_settings': [
19        '../base/base.gyp:base',
20      ],
21      'defines': [ 'SQL_IMPLEMENTATION' ],
22      'sources': [
23        'connection.cc',
24        'connection.h',
25        'error_delegate_util.cc',
26        'error_delegate_util.h',
27        'init_status.h',
28        'meta_table.cc',
29        'meta_table.h',
30        'recovery.cc',
31        'recovery.h',
32        'statement.cc',
33        'statement.h',
34        'transaction.cc',
35        'transaction.h',
36      ],
37      'include_dirs': [
38        '..',
39      ],
40      'direct_dependent_settings': {
41        'include_dirs': [
42          '..',
43        ],
44      },
45      # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
46      'msvs_disabled_warnings': [4267, ],
47    },
48    {
49      'target_name': 'test_support_sql',
50      'type': 'static_library',
51      'dependencies': [
52        'sql',
53        '../base/base.gyp:base',
54        '../testing/gtest.gyp:gtest',
55      ],
56      'export_dependent_settings': [
57        'sql',
58        '../base/base.gyp:base',
59      ],
60      'sources': [
61        'test/error_callback_support.cc',
62        'test/error_callback_support.h',
63        'test/scoped_error_ignorer.cc',
64        'test/scoped_error_ignorer.h',
65        'test/test_helpers.cc',
66        'test/test_helpers.h',
67      ],
68      'include_dirs': [
69        '..',
70      ],
71      'direct_dependent_settings': {
72        'include_dirs': [
73          '..',
74        ],
75      },
76    },
77    {
78      'target_name': 'sql_unittests',
79      'type': '<(gtest_target_type)',
80      'dependencies': [
81        'sql',
82        'test_support_sql',
83        '../base/base.gyp:run_all_unittests',
84        '../base/base.gyp:test_support_base',
85        '../testing/gtest.gyp:gtest',
86        '../third_party/sqlite/sqlite.gyp:sqlite',
87      ],
88      'sources': [
89        'connection_unittest.cc',
90        'meta_table_unittest.cc',
91        'recovery_unittest.cc',
92        'sqlite_features_unittest.cc',
93        'statement_unittest.cc',
94        'transaction_unittest.cc',
95      ],
96      'include_dirs': [
97        '..',
98      ],
99      'conditions': [
100        ['os_posix==1 and OS!="mac" and OS!="ios"', {
101          'conditions': [
102            ['linux_use_tcmalloc==1', {
103              'dependencies': [
104                '../base/allocator/allocator.gyp:allocator',
105              ],
106            }],
107          ],
108        }],
109        ['OS == "android" and gtest_target_type == "shared_library"', {
110          'dependencies': [
111            '../testing/android/native_test.gyp:native_test_native_code',
112          ],
113        }],
114      ],
115      # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
116      'msvs_disabled_warnings': [4267, ],
117    },
118  ],
119  'conditions': [
120    # Special target to wrap a gtest_target_type==shared_library
121    # sql_unittests into an android apk for execution.
122    ['OS == "android" and gtest_target_type == "shared_library"', {
123      'targets': [
124        {
125          'target_name': 'sql_unittests_apk',
126          'type': 'none',
127          'dependencies': [
128            'sql_unittests',
129          ],
130          'variables': {
131            'test_suite_name': 'sql_unittests',
132            'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)sql_unittests<(SHARED_LIB_SUFFIX)',
133          },
134          'includes': [ '../build/apk_test.gypi' ],
135        },
136      ],
137    }],
138  ],
139}
140