# Copyright (c) 2021 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("//foundation/ace/ace_engine/ace_config.gni") config("ace_pc_preview_config") { cflags = [ "-std=c++17", "-Wno-c99-designator", "-Wno-unknown-warning-option", ] include_dirs = [ "$ace_root", "$ace_root/frameworks", "$flutter_root/engine", "$flutter_root/engine/flutter/shell/platform/common/cpp/public", "$flutter_root/engine/ace_adapter/flutter/shell/platform/glfw/public", ] } template("ace_test") { forward_variables_from(invoker, "*") ohos_executable(target_name) { defines += invoker.defines configs = [ ":ace_pc_preview_config" ] sources = [ "ace_${device}_test.cpp" ] deps = [ ":copy_napi_modules_shared_library_for_test(${current_toolchain})", ":copy_napi_shared_library_for_test(${current_toolchain})", ":copy_resource_dynamic_library(${current_toolchain})", "$ace_napi:ace_napi(${current_toolchain})", "$ace_napi/sample/native_module_demo:demo(${current_toolchain})", "$ace_root/adapter/preview/build:libace_engine_$platform(${current_toolchain})", ] if (platform == "windows") { libs = [ "pthread" ] } } } ace_devices = [ "phone", "tv", "wearable", "tablet", "card", "car", ] foreach(item, ace_platforms) { platform = item.name platform_defines = [] config = { } if (defined(item.config)) { config = item.config } if (defined(config.defines)) { platform_defines = config.defines } if (platform == "windows" || platform == "mac") { foreach(device, ace_devices) { ace_test("ace_test_${platform}_$device") { defines = platform_defines platform = platform device = device } } } } ohos_copy("copy_resource_dynamic_library") { if (use_mac) { if (is_standard_system) { resource_manager_library = get_label_info( "//base/global/resmgr_standard/frameworks/resmgr:global_resmgr_mac", "root_out_dir") + "/global/resmgr_standard/libglobal_resmgr_mac.dylib" deps = [ "//base/global/resmgr_standard/frameworks/resmgr:global_resmgr_mac(${current_toolchain})" ] sources = [ resource_manager_library ] } else { sources = [ "//prebuilts/ace-toolkit/preview/rich/lib/mac/tv/libhmicuuc.dylib", "//prebuilts/ace-toolkit/preview/rich/lib/mac/tv/libresourcemanager_mac.dylib", ] } outputs = [ root_build_dir + "/clang_x64/common/common/{{source_file_part}}" ] } else { if (is_standard_system) { resource_manager_library = get_label_info( "//base/global/resmgr_standard/frameworks/resmgr:global_resmgr_win", "root_out_dir") + "/global/resmgr_standard/libglobal_resmgr_win.dll" deps = [ "//base/global/resmgr_standard/frameworks/resmgr:global_resmgr_win(${current_toolchain})" ] sources = [ resource_manager_library ] } else { sources = [ "//prebuilts/ace-toolkit/preview/rich/lib/windows/tv/libhmicuuc.dll", "//prebuilts/ace-toolkit/preview/rich/lib/windows/tv/libresourcemanager_win.dll", ] } outputs = [ root_build_dir + "/mingw_x86_64/common/common/{{source_file_part}}" ] } } ohos_copy("copy_napi_shared_library_for_test") { shared_library_path = get_label_info("$ace_napi:ace_napi(${current_toolchain})", "root_out_dir") deps = [ "$ace_napi:ace_napi(${current_toolchain})", "$ace_napi:ace_napi_quickjs(${current_toolchain})", ] if (use_mac) { sources = [ "$shared_library_path/ace/napi/libace_napi.dylib", "$shared_library_path/ace/napi/libace_napi_quickjs.dylib", "$shared_library_path/ace/napi/libuv.dylib", ] outputs = [ root_build_dir + "/clang_x64/common/common/{{source_file_part}}" ] } else { sources = [ "$shared_library_path/ace/napi/libace_napi.dll", "$shared_library_path/ace/napi/libace_napi_quickjs.dll", "$shared_library_path/ace/napi/libuv.dll", ] outputs = [ root_build_dir + "/mingw_x86_64/common/common/{{source_file_part}}" ] } } ohos_copy("copy_napi_modules_shared_library_for_test") { mediaquery_path = get_label_info("$ace_root/interfaces/napi/kits/media_query:mediaquery", "root_out_dir") prompt_path = get_label_info("$ace_root/interfaces/napi/kits/prompt:prompt", "root_out_dir") router_path = get_label_info("$ace_root/interfaces/napi/kits/router:router", "root_out_dir") configuration_path = get_label_info( "$ace_root/interfaces/napi/kits/configuration:configuration", "root_out_dir") device_path = get_label_info("$ace_root/interfaces/napi/kits/device:device", "root_out_dir") grid_path = get_label_info("$ace_root/interfaces/napi/kits/grid:grid", "root_out_dir") deps = [ "$ace_root/interfaces/napi/kits/configuration:configuration", "$ace_root/interfaces/napi/kits/device:device", "$ace_root/interfaces/napi/kits/grid:grid", "$ace_root/interfaces/napi/kits/media_query:mediaquery", "$ace_root/interfaces/napi/kits/prompt:prompt", "$ace_root/interfaces/napi/kits/router:router", ] if (use_mac) { sources = [ "$configuration_path/ace/ace_engine_standard/libconfiguration.dylib", "$device_path/ace/ace_engine_standard/libdevice.dylib", "$grid_path/ace/ace_engine_standard/libgrid.dylib", "$mediaquery_path/ace/ace_engine_standard/libmediaquery.dylib", "$prompt_path/ace/ace_engine_standard/libprompt.dylib", "$router_path/ace/ace_engine_standard/librouter.dylib", ] outputs = [ root_build_dir + "/clang_x64/common/common/module/{{source_file_part}}" ] } else { sources = [ "$configuration_path/ace/ace_engine_standard/libconfiguration.dll", "$device_path/ace/ace_engine_standard/libdevice.dll", "$grid_path/ace/ace_engine_standard/libgrid.dll", "$mediaquery_path/ace/ace_engine_standard/libmediaquery.dll", "$prompt_path/ace/ace_engine_standard/libprompt.dll", "$router_path/ace/ace_engine_standard/librouter.dll", ] outputs = [ root_build_dir + "/mingw_x86_64/common/common/module/{{source_file_part}}" ] } }