132a6e48fSopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
232a6e48fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
332a6e48fSopenharmony_ci# you may not use this file except in compliance with the License.
432a6e48fSopenharmony_ci# You may obtain a copy of the License at
532a6e48fSopenharmony_ci#
632a6e48fSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
732a6e48fSopenharmony_ci#
832a6e48fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
932a6e48fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1032a6e48fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1132a6e48fSopenharmony_ci# See the License for the specific language governing permissions and
1232a6e48fSopenharmony_ci# limitations under the License.
1332a6e48fSopenharmony_ci
1432a6e48fSopenharmony_ciimport("//build/test.gni")
1532a6e48fSopenharmony_ciimport("//foundation/graphic/graphic_surface/graphic_surface_config.gni")
1632a6e48fSopenharmony_ci
1732a6e48fSopenharmony_cimodule_out_path = "graphic_surface/sync_fence"
1832a6e48fSopenharmony_ci
1932a6e48fSopenharmony_cigroup("unittest") {
2032a6e48fSopenharmony_ci  testonly = true
2132a6e48fSopenharmony_ci
2232a6e48fSopenharmony_ci  deps = [ ":sync_fence_test" ]
2332a6e48fSopenharmony_ci}
2432a6e48fSopenharmony_ci
2532a6e48fSopenharmony_ci## UnitTest sync_fence_test {{{
2632a6e48fSopenharmony_ciohos_unittest("sync_fence_test") {
2732a6e48fSopenharmony_ci  module_out_path = module_out_path
2832a6e48fSopenharmony_ci
2932a6e48fSopenharmony_ci  sources = [
3032a6e48fSopenharmony_ci    "acquire_fence_manager_test.cpp",
3132a6e48fSopenharmony_ci    "frame_sched_test.cpp",
3232a6e48fSopenharmony_ci    "sync_fence_tracker_test.cpp",
3332a6e48fSopenharmony_ci  ]
3432a6e48fSopenharmony_ci
3532a6e48fSopenharmony_ci  deps = [
3632a6e48fSopenharmony_ci    ":sync_fence_common",
3732a6e48fSopenharmony_ci    "$graphic_surface_root/sync_fence:sync_fence",
3832a6e48fSopenharmony_ci  ]
3932a6e48fSopenharmony_ci
4032a6e48fSopenharmony_ci  external_deps = [
4132a6e48fSopenharmony_ci    "c_utils:utils",
4232a6e48fSopenharmony_ci    "hilog:libhilog",
4332a6e48fSopenharmony_ci    "ipc:ipc_core",
4432a6e48fSopenharmony_ci  ]
4532a6e48fSopenharmony_ci}
4632a6e48fSopenharmony_ci
4732a6e48fSopenharmony_ci## UnitTest sync_fence_test }}}
4832a6e48fSopenharmony_ci
4932a6e48fSopenharmony_ci## Build sync_fence_common.a {{{
5032a6e48fSopenharmony_ciconfig("sync_fence_common_public_config") {
5132a6e48fSopenharmony_ci  cflags = [
5232a6e48fSopenharmony_ci    "-Wall",
5332a6e48fSopenharmony_ci    "-Werror",
5432a6e48fSopenharmony_ci    "-g3",
5532a6e48fSopenharmony_ci    "-Dprivate=public",
5632a6e48fSopenharmony_ci    "-Dprotected=public",
5732a6e48fSopenharmony_ci  ]
5832a6e48fSopenharmony_ci}
5932a6e48fSopenharmony_ci
6032a6e48fSopenharmony_ciohos_static_library("sync_fence_common") {
6132a6e48fSopenharmony_ci  visibility = [ ":*" ]
6232a6e48fSopenharmony_ci  testonly = true
6332a6e48fSopenharmony_ci
6432a6e48fSopenharmony_ci  public_configs = [ ":sync_fence_common_public_config" ]
6532a6e48fSopenharmony_ci
6632a6e48fSopenharmony_ci  subsystem_name = "graphic"
6732a6e48fSopenharmony_ci  part_name = "graphic_surface"
6832a6e48fSopenharmony_ci}
6932a6e48fSopenharmony_ci## Build sync_fence_common.a }}}
70