# Copyright (c) 2024 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//build/ohos.gni") import("//build/ohos/ace/ace.gni") import("//foundation/resourceschedule/work_scheduler/workscheduler.gni") ohos_shared_library("cj_work_scheduler_ffi") { branch_protector_ret = "pac_ret" sanitize = { cfi = true cfi_cross_dso = true debug = false } include_dirs = [ "${worksched_root_path}/utils/native/include", "${worksched_root_path}/frameworks/include", ] if (!defined(defines)) { defines = [] } if (product_name != "ohos-sdk") { deps = [ "${worksched_frameworks_path}:workschedclient", "${worksched_utils_path}:workschedutils", ] external_deps = [ "ability_base:base", "ability_base:want", "hilog:libhilog", "napi:ace_napi", "napi:cj_bind_ffi", ] sources = [ "work_scheduler/work_scheduler_ffi.cpp" ] } else { defines += [ "PREVIEWER" ] sources = [ "work_scheduler/work_scheduler_mock.cpp" ] external_deps = [ "napi:cj_bind_ffi" ] } if (current_os == "ohos") { defines += [ "OHOS_PLATFORM" ] } if (current_os == "mingw") { defines += [ "WINDOWS_PLATFORM" ] } innerapi_tags = [ "platformsdk" ] subsystem_name = "resourceschedule" part_name = "${worksched_native_part_name}" }