Home | History | Annotate | Download | only in gflags
      1 # Copyright 2011 Google Inc.
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
      4 # you may not use this file except in compliance with the License.
      5 # You may obtain a copy of the License at
      6 #
      7 #      http://www.apache.org/licenses/LICENSE-2.0
      8 #
      9 # Unless required by applicable law or agreed to in writing, software
     10 # distributed under the License is distributed on an "AS IS" BASIS,
     11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 # See the License for the specific language governing permissions and
     13 # limitations under the License.
     14 
     15 {
     16   'variables': {
     17     'gflags_root': '<(DEPTH)/third_party/gflags',
     18     'conditions': [
     19       ['OS=="win"', {
     20         'gflags_gen_arch_root': '<(gflags_root)/gen/win',
     21       }, {
     22         'gflags_gen_arch_root': '<(gflags_root)/gen/posix',
     23       }],
     24     ],
     25   },
     26   'targets': [
     27     {
     28       'target_name': 'gflags',
     29       'type': 'static_library',
     30       'include_dirs': [
     31         '<(gflags_gen_arch_root)/include/private',  # For config.h
     32         '<(gflags_gen_arch_root)/include',  # For configured files.
     33         '<(gflags_root)/src',  # For everything else.
     34       ],
     35       'defines': [
     36         # These macros exist so flags and symbols are properly
     37         # exported when building DLLs. Since we don't build DLLs, we
     38         # need to disable them.
     39         'GFLAGS_DLL_DECL=',
     40         'GFLAGS_DLL_DECLARE_FLAG=',
     41         'GFLAGS_DLL_DEFINE_FLAG=',
     42       ],
     43       'direct_dependent_settings': {
     44         'include_dirs': [
     45           '<(gflags_gen_arch_root)/include',  # For configured files.
     46           '<(gflags_root)/src',  # For everything else.
     47         ],
     48         'defines': [
     49           'GFLAGS_DLL_DECL=',
     50           'GFLAGS_DLL_DECLARE_FLAG=',
     51           'GFLAGS_DLL_DEFINE_FLAG=',
     52         ],
     53       },
     54       'sources': [
     55         'src/gflags.cc',
     56         'src/gflags_completions.cc',
     57         'src/gflags_reporting.cc',
     58       ],
     59       'conditions': [
     60         ['OS=="win"', {
     61           'sources': [
     62             'src/windows/port.cc',
     63           ],
     64           # Suppress warnings about WIN32_LEAN_AND_MEAN and size_t truncation.
     65           'msvs_disabled_warnings': [4005, 4267],
     66         }],
     67         # TODO(andrew): Look into fixing this warning upstream:
     68         # http://code.google.com/p/webrtc/issues/detail?id=760
     69         ['OS=="win" and clang==1', {
     70           'msvs_settings': {
     71             'VCCLCompilerTool': {
     72               'AdditionalOptions!': [
     73                 '-Wheader-hygiene',  # Suppress warning about using namespace.
     74               ],
     75               'AdditionalOptions': [
     76                 '-Wno-unused-local-typedef',  # Suppress unused private typedef.
     77               ],
     78             },
     79           },
     80         }],
     81         ['clang==1', {
     82           'cflags': ['-Wno-unused-local-typedef',],
     83           'cflags!': ['-Wheader-hygiene',],
     84           'xcode_settings': {
     85             'WARNING_CFLAGS': ['-Wno-unused-local-typedef',],
     86             'WARNING_CFLAGS!': ['-Wheader-hygiene',],
     87           },
     88         }],
     89       ],
     90     },
     91   ],
     92 }
     93