17a9a4b8fSopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd. 27a9a4b8fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 37a9a4b8fSopenharmony_ci# you may not use this file except in compliance with the License. 47a9a4b8fSopenharmony_ci# You may obtain a copy of the License at 57a9a4b8fSopenharmony_ci# 67a9a4b8fSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 77a9a4b8fSopenharmony_ci# 87a9a4b8fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 97a9a4b8fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 107a9a4b8fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 117a9a4b8fSopenharmony_ci# See the License for the specific language governing permissions and 127a9a4b8fSopenharmony_ci# limitations under the License. 137a9a4b8fSopenharmony_ci 147a9a4b8fSopenharmony_ciimport("//build/ohos.gni") 157a9a4b8fSopenharmony_ciimport("//build/ohos/ace/ace.gni") 167a9a4b8fSopenharmony_ciimport("//foundation/resourceschedule/work_scheduler/workscheduler.gni") 177a9a4b8fSopenharmony_ci 187a9a4b8fSopenharmony_ciohos_shared_library("cj_work_scheduler_ffi") { 197a9a4b8fSopenharmony_ci branch_protector_ret = "pac_ret" 207a9a4b8fSopenharmony_ci 217a9a4b8fSopenharmony_ci sanitize = { 227a9a4b8fSopenharmony_ci cfi = true 237a9a4b8fSopenharmony_ci cfi_cross_dso = true 247a9a4b8fSopenharmony_ci debug = false 257a9a4b8fSopenharmony_ci } 267a9a4b8fSopenharmony_ci 277a9a4b8fSopenharmony_ci include_dirs = [ 287a9a4b8fSopenharmony_ci "${worksched_root_path}/utils/native/include", 297a9a4b8fSopenharmony_ci "${worksched_root_path}/frameworks/include", 307a9a4b8fSopenharmony_ci ] 317a9a4b8fSopenharmony_ci 327a9a4b8fSopenharmony_ci if (!defined(defines)) { 337a9a4b8fSopenharmony_ci defines = [] 347a9a4b8fSopenharmony_ci } 357a9a4b8fSopenharmony_ci 367a9a4b8fSopenharmony_ci if (product_name != "ohos-sdk") { 377a9a4b8fSopenharmony_ci deps = [ 387a9a4b8fSopenharmony_ci "${worksched_frameworks_path}:workschedclient", 397a9a4b8fSopenharmony_ci "${worksched_utils_path}:workschedutils", 407a9a4b8fSopenharmony_ci ] 417a9a4b8fSopenharmony_ci external_deps = [ 427a9a4b8fSopenharmony_ci "ability_base:base", 437a9a4b8fSopenharmony_ci "ability_base:want", 447a9a4b8fSopenharmony_ci "hilog:libhilog", 457a9a4b8fSopenharmony_ci "napi:ace_napi", 467a9a4b8fSopenharmony_ci "napi:cj_bind_ffi", 477a9a4b8fSopenharmony_ci ] 487a9a4b8fSopenharmony_ci sources = [ "work_scheduler/work_scheduler_ffi.cpp" ] 497a9a4b8fSopenharmony_ci } else { 507a9a4b8fSopenharmony_ci defines += [ "PREVIEWER" ] 517a9a4b8fSopenharmony_ci sources = [ "work_scheduler/work_scheduler_mock.cpp" ] 527a9a4b8fSopenharmony_ci external_deps = [ "napi:cj_bind_ffi" ] 537a9a4b8fSopenharmony_ci } 547a9a4b8fSopenharmony_ci 557a9a4b8fSopenharmony_ci if (current_os == "ohos") { 567a9a4b8fSopenharmony_ci defines += [ "OHOS_PLATFORM" ] 577a9a4b8fSopenharmony_ci } 587a9a4b8fSopenharmony_ci 597a9a4b8fSopenharmony_ci if (current_os == "mingw") { 607a9a4b8fSopenharmony_ci defines += [ "WINDOWS_PLATFORM" ] 617a9a4b8fSopenharmony_ci } 627a9a4b8fSopenharmony_ci 637a9a4b8fSopenharmony_ci innerapi_tags = [ "platformsdk" ] 647a9a4b8fSopenharmony_ci subsystem_name = "resourceschedule" 657a9a4b8fSopenharmony_ci part_name = "${worksched_native_part_name}" 667a9a4b8fSopenharmony_ci} 67