1fb726d48Sopenharmony_ci# Copyright (c) Huawei Technologies Co., Ltd. 2023. All rights reserved.
2fb726d48Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3fb726d48Sopenharmony_ci# you may not use this file except in compliance with the License.
4fb726d48Sopenharmony_ci# You may obtain a copy of the License at
5fb726d48Sopenharmony_ci#
6fb726d48Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7fb726d48Sopenharmony_ci#
8fb726d48Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9fb726d48Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10fb726d48Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11fb726d48Sopenharmony_ci# See the License for the specific language governing permissions and
12fb726d48Sopenharmony_ci# limitations under the License.
13fb726d48Sopenharmony_ci
14fb726d48Sopenharmony_ciimport("//build/ohos.gni")
15fb726d48Sopenharmony_ciimport("../../build/ts.gni")
16fb726d48Sopenharmony_ci
17fb726d48Sopenharmony_ciconfig("metrics_cfg") {
18fb726d48Sopenharmony_ci  include_dirs = [
19fb726d48Sopenharmony_ci    ".",
20fb726d48Sopenharmony_ci    "${SRC}/base",
21fb726d48Sopenharmony_ci    "${THIRD_PARTY}/bounds_checking_function/include",
22fb726d48Sopenharmony_ci    "${THIRD_PARTY}/json/single_include/nlohmann",
23fb726d48Sopenharmony_ci  ]
24fb726d48Sopenharmony_ci}
25fb726d48Sopenharmony_ci
26fb726d48Sopenharmony_ciohos_source_set("metrics_parser") {
27fb726d48Sopenharmony_ci  subsystem_name = "${OHOS_PROFILER_SUBSYS_NAME}"
28fb726d48Sopenharmony_ci  part_name = "${OHOS_PROFILER_PART_NAME}"
29fb726d48Sopenharmony_ci  sources = [ "metrics.cpp" ]
30fb726d48Sopenharmony_ci  deps = []
31fb726d48Sopenharmony_ci  public_configs = [ ":metrics_cfg" ]
32fb726d48Sopenharmony_ci  if (enable_ts_utest && !use_wasm) {
33fb726d48Sopenharmony_ci    cflags = [
34fb726d48Sopenharmony_ci      "-fprofile-arcs",
35fb726d48Sopenharmony_ci      "-ftest-coverage",
36fb726d48Sopenharmony_ci    ]
37fb726d48Sopenharmony_ci    ldflags = [
38fb726d48Sopenharmony_ci      "-fprofile-arcs",
39fb726d48Sopenharmony_ci      "-ftest-coverage",
40fb726d48Sopenharmony_ci      "--coverage",
41fb726d48Sopenharmony_ci    ]
42fb726d48Sopenharmony_ci    if (is_test) {
43fb726d48Sopenharmony_ci      cflags += [ "-D IS_UT" ]
44fb726d48Sopenharmony_ci    }
45fb726d48Sopenharmony_ci  }
46fb726d48Sopenharmony_ci}
47