xref: /aosp_15_r20/external/openscreen/third_party/valijson/BUILD.gn (revision 3f982cf4871df8771c9d4abe6e9a6f8d829b2736)
1*3f982cf4SFabien Sanglard# Copyright 2020 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  config("valijson_config") {
9*3f982cf4SFabien Sanglard    cflags_cc = [ "-Wno-extra-semi" ]
10*3f982cf4SFabien Sanglard
11*3f982cf4SFabien Sanglard    # NOTE: while this allows files to use #include "valijson/<foo>.hpp", Open
12*3f982cf4SFabien Sanglard    # Screen files should use the fully qualified include and this should be
13*3f982cf4SFabien Sanglard    # reserved for valijson files to include each other.
14*3f982cf4SFabien Sanglard    include_dirs = [ "//third_party/valijson/src/include" ]
15*3f982cf4SFabien Sanglard  }
16*3f982cf4SFabien Sanglard
17*3f982cf4SFabien Sanglard  source_set("valijson") {
18*3f982cf4SFabien Sanglard    sources = [
19*3f982cf4SFabien Sanglard      "src/include/valijson/adapters/adapter.hpp",
20*3f982cf4SFabien Sanglard      "src/include/valijson/adapters/basic_adapter.hpp",
21*3f982cf4SFabien Sanglard      "src/include/valijson/adapters/frozen_value.hpp",
22*3f982cf4SFabien Sanglard
23*3f982cf4SFabien Sanglard      # We only need the adapter for JsonCpp.
24*3f982cf4SFabien Sanglard      "src/include/valijson/adapters/jsoncpp_adapter.hpp",
25*3f982cf4SFabien Sanglard      "src/include/valijson/constraint_builder.hpp",
26*3f982cf4SFabien Sanglard      "src/include/valijson/internal/custom_allocator.hpp",
27*3f982cf4SFabien Sanglard      "src/include/valijson/internal/debug.hpp",
28*3f982cf4SFabien Sanglard      "src/include/valijson/internal/json_pointer.hpp",
29*3f982cf4SFabien Sanglard      "src/include/valijson/internal/json_reference.hpp",
30*3f982cf4SFabien Sanglard      "src/include/valijson/internal/optional.hpp",
31*3f982cf4SFabien Sanglard      "src/include/valijson/internal/uri.hpp",
32*3f982cf4SFabien Sanglard      "src/include/valijson/schema.hpp",
33*3f982cf4SFabien Sanglard      "src/include/valijson/schema_parser.hpp",
34*3f982cf4SFabien Sanglard      "src/include/valijson/subschema.hpp",
35*3f982cf4SFabien Sanglard      "src/include/valijson/utils/jsoncpp_utils.hpp",
36*3f982cf4SFabien Sanglard      "src/include/valijson/validation_results.hpp",
37*3f982cf4SFabien Sanglard      "src/include/valijson/validation_visitor.hpp",
38*3f982cf4SFabien Sanglard      "src/include/valijson/validator.hpp",
39*3f982cf4SFabien Sanglard    ]
40*3f982cf4SFabien Sanglard
41*3f982cf4SFabien Sanglard    defines = [ "VALIJSON_USE_EXCEPTIONS=0" ]
42*3f982cf4SFabien Sanglard    public_configs = [ ":valijson_config" ]
43*3f982cf4SFabien Sanglard  }
44*3f982cf4SFabien Sanglard}
45