xref: /aosp_15_r20/external/openscreen/third_party/jsoncpp/BUILD.gn (revision 3f982cf4871df8771c9d4abe6e9a6f8d829b2736)
1*3f982cf4SFabien Sanglard# Copyright 2019 The Chromium Authors. All rights reserved.
2*3f982cf4SFabien Sanglard# Use of this source code is governed by a BSD-style license that can be
3*3f982cf4SFabien Sanglard# found in the LICENSE file.
4*3f982cf4SFabien Sanglard
5*3f982cf4SFabien Sanglardimport("//build_overrides/build.gni")
6*3f982cf4SFabien Sanglard
7*3f982cf4SFabien Sanglardif (build_with_chromium) {
8*3f982cf4SFabien Sanglard  source_set("jsoncpp") {
9*3f982cf4SFabien Sanglard    public_deps = [ "//third_party/jsoncpp" ]
10*3f982cf4SFabien Sanglard  }
11*3f982cf4SFabien Sanglard} else {
12*3f982cf4SFabien Sanglard  config("jsoncpp_config") {
13*3f982cf4SFabien Sanglard    include_dirs = [ "//third_party/jsoncpp/src/include" ]
14*3f982cf4SFabien Sanglard
15*3f982cf4SFabien Sanglard    cflags_cc = [ "-Wno-implicit-fallthrough" ]
16*3f982cf4SFabien Sanglard
17*3f982cf4SFabien Sanglard    if (is_clang) {
18*3f982cf4SFabien Sanglard      cflags_cc += [ "-Wno-exit-time-destructors" ]
19*3f982cf4SFabien Sanglard    }
20*3f982cf4SFabien Sanglard  }
21*3f982cf4SFabien Sanglard
22*3f982cf4SFabien Sanglard  source_set("jsoncpp") {
23*3f982cf4SFabien Sanglard    sources = [
24*3f982cf4SFabien Sanglard      "src/include/json/allocator.h",
25*3f982cf4SFabien Sanglard      "src/include/json/config.h",
26*3f982cf4SFabien Sanglard      "src/include/json/forwards.h",
27*3f982cf4SFabien Sanglard      "src/include/json/json.h",
28*3f982cf4SFabien Sanglard      "src/include/json/json_features.h",
29*3f982cf4SFabien Sanglard      "src/include/json/reader.h",
30*3f982cf4SFabien Sanglard      "src/include/json/value.h",
31*3f982cf4SFabien Sanglard      "src/include/json/version.h",
32*3f982cf4SFabien Sanglard      "src/include/json/writer.h",
33*3f982cf4SFabien Sanglard      "src/src/lib_json/json_reader.cpp",
34*3f982cf4SFabien Sanglard      "src/src/lib_json/json_tool.h",
35*3f982cf4SFabien Sanglard      "src/src/lib_json/json_value.cpp",
36*3f982cf4SFabien Sanglard      "src/src/lib_json/json_writer.cpp",
37*3f982cf4SFabien Sanglard    ]
38*3f982cf4SFabien Sanglard
39*3f982cf4SFabien Sanglard    public_configs = [ ":jsoncpp_config" ]
40*3f982cf4SFabien Sanglard
41*3f982cf4SFabien Sanglard    defines = [ "JSON_USE_EXCEPTION=0" ]
42*3f982cf4SFabien Sanglard
43*3f982cf4SFabien Sanglard    include_dirs = [ "src/src/lib_json" ]
44*3f982cf4SFabien Sanglard  }
45*3f982cf4SFabien Sanglard}
46