17c804472Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 27c804472Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 37c804472Sopenharmony_ci# you may not use this file except in compliance with the License. 47c804472Sopenharmony_ci# You may obtain a copy of the License at 57c804472Sopenharmony_ci# 67c804472Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 77c804472Sopenharmony_ci# 87c804472Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 97c804472Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 107c804472Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 117c804472Sopenharmony_ci# See the License for the specific language governing permissions and 127c804472Sopenharmony_ci# limitations under the License. 137c804472Sopenharmony_ci 147c804472Sopenharmony_ciimport("//build/ohos.gni") 157c804472Sopenharmony_ciimport("//foundation/arkui/ace_engine/adapter/preview/build/component_test.gni") 167c804472Sopenharmony_ciimport("./gn/config.gni") 177c804472Sopenharmony_ci 187c804472Sopenharmony_citemplate("previewer_executable") { 197c804472Sopenharmony_ci ohos_executable(target_name) { 207c804472Sopenharmony_ci subsystem_name = "ide" 217c804472Sopenharmony_ci part_name = invoker.part_name 227c804472Sopenharmony_ci output_name = invoker.output_name 237c804472Sopenharmony_ci sources = invoker.src 247c804472Sopenharmony_ci configs = [ ":myconfig" ] 257c804472Sopenharmony_ci include_dirs = [ 267c804472Sopenharmony_ci "./util/", 277c804472Sopenharmony_ci "./cli/", 287c804472Sopenharmony_ci "./mock/", 297c804472Sopenharmony_ci "./jsapp/", 307c804472Sopenharmony_ci ] 317c804472Sopenharmony_ci 327c804472Sopenharmony_ci include_dirs += invoker.includes 337c804472Sopenharmony_ci deps = [ "//third_party/bounds_checking_function:libsec_static" ] 347c804472Sopenharmony_ci deps += invoker.deps 357c804472Sopenharmony_ci libs = invoker.libs 367c804472Sopenharmony_ci 377c804472Sopenharmony_ci if (platform == "mingw_x86_64") { 387c804472Sopenharmony_ci defines = [ "NOGDI" ] 397c804472Sopenharmony_ci if (defined(enable_component_test) && enable_component_test) { 407c804472Sopenharmony_ci defines += [ "COMPONENT_TEST_ENABLED" ] 417c804472Sopenharmony_ci } 427c804472Sopenharmony_ci ldflags = [ 437c804472Sopenharmony_ci "-static", 447c804472Sopenharmony_ci "-lws2_32", 457c804472Sopenharmony_ci "-lshlwapi", 467c804472Sopenharmony_ci "-ldbghelp", 477c804472Sopenharmony_ci ] 487c804472Sopenharmony_ci } else { 497c804472Sopenharmony_ci defines = [] 507c804472Sopenharmony_ci } 517c804472Sopenharmony_ci cflags = [ 527c804472Sopenharmony_ci "-std=c++17", 537c804472Sopenharmony_ci "-Wno-deprecated-declarations", 547c804472Sopenharmony_ci "-Wno-reorder", 557c804472Sopenharmony_ci "-Wno-sign-compare", 567c804472Sopenharmony_ci ] 577c804472Sopenharmony_ci } 587c804472Sopenharmony_ci} 597c804472Sopenharmony_ci 607c804472Sopenharmony_cigroup("rich_ace_previewer") { 617c804472Sopenharmony_ci if (platform == "mingw_x86_64") { 627c804472Sopenharmony_ci deps = [ ":rich_previewer(${windows_buildtool})" ] 637c804472Sopenharmony_ci } else if (platform == "mac_arm64" || platform == "mac_x64") { 647c804472Sopenharmony_ci deps = [ ":rich_previewer(${mac_buildtool})" ] 657c804472Sopenharmony_ci } else if (platform == "linux_x64") { 667c804472Sopenharmony_ci deps = [ ":rich_previewer(${linux_buildtool})" ] 677c804472Sopenharmony_ci } 687c804472Sopenharmony_ci} 697c804472Sopenharmony_ci 707c804472Sopenharmony_cigroup("lite_ace_previewer") { 717c804472Sopenharmony_ci if (platform == "mingw_x86_64") { 727c804472Sopenharmony_ci deps = [ ":lite_previewer(${windows_buildtool})" ] 737c804472Sopenharmony_ci } else if (platform == "mac_arm64" || platform == "mac_x64") { 747c804472Sopenharmony_ci deps = [ ":lite_previewer(${mac_buildtool})" ] 757c804472Sopenharmony_ci } else if (platform == "linux_x64") { 767c804472Sopenharmony_ci deps = [ ":lite_previewer(${linux_buildtool})" ] 777c804472Sopenharmony_ci } 787c804472Sopenharmony_ci} 797c804472Sopenharmony_ci 807c804472Sopenharmony_cipreviewer_executable("rich_previewer") { 817c804472Sopenharmony_ci part_name = "previewer" 827c804472Sopenharmony_ci output_name = "Previewer" 837c804472Sopenharmony_ci src = [ "RichPreviewer.cpp" ] 847c804472Sopenharmony_ci includes = os_include_dirs 857c804472Sopenharmony_ci includes += [ 867c804472Sopenharmony_ci "./mock/rich/", 877c804472Sopenharmony_ci "./jsapp/rich/", 887c804472Sopenharmony_ci ] 897c804472Sopenharmony_ci libs = [] 907c804472Sopenharmony_ci deps = [ 917c804472Sopenharmony_ci "cli:cli_rich", 927c804472Sopenharmony_ci "jsapp:jsapp_rich", 937c804472Sopenharmony_ci "mock:mock_rich", 947c804472Sopenharmony_ci "util:util_rich", 957c804472Sopenharmony_ci "//third_party/libwebsockets:websockets_static", 967c804472Sopenharmony_ci ] 977c804472Sopenharmony_ci} 987c804472Sopenharmony_ci 997c804472Sopenharmony_cipreviewer_executable("lite_previewer") { 1007c804472Sopenharmony_ci part_name = "litePreviewer" 1017c804472Sopenharmony_ci output_name = "Simulator" 1027c804472Sopenharmony_ci src = [ "ThinPreviewer.cpp" ] 1037c804472Sopenharmony_ci includes = [ 1047c804472Sopenharmony_ci "//foundation/ace/frameworks/base/utils/", 1057c804472Sopenharmony_ci "./mock/lite/", 1067c804472Sopenharmony_ci "./jsapp/lite/", 1077c804472Sopenharmony_ci "//foundation/arkui/ui_lite/interfaces/innerkits/", 1087c804472Sopenharmony_ci "//foundation/graphic/graphic_utils_lite/interfaces/kits/", 1097c804472Sopenharmony_ci "//foundation/graphic/graphic_utils_lite/interfaces/innerkits/", 1107c804472Sopenharmony_ci "//foundation/arkui/ui_lite/frameworks/dock/", 1117c804472Sopenharmony_ci ] 1127c804472Sopenharmony_ci deps = [ 1137c804472Sopenharmony_ci "cli:cli_lite", 1147c804472Sopenharmony_ci "jsapp:jsapp_lite", 1157c804472Sopenharmony_ci "mock:mock_lite", 1167c804472Sopenharmony_ci "util:util_lite", 1177c804472Sopenharmony_ci "//foundation/arkui/ace_engine_lite/frameworks/targets/simulator:ace_lite", 1187c804472Sopenharmony_ci "//third_party/libwebsockets:websockets_static", 1197c804472Sopenharmony_ci ] 1207c804472Sopenharmony_ci if (platform == "mingw_x86_64") { 1217c804472Sopenharmony_ci libs = [ "psapi" ] 1227c804472Sopenharmony_ci } else if (platform == "mac_arm64" || platform == "mac_x64") { 1237c804472Sopenharmony_ci libs = [] 1247c804472Sopenharmony_ci } else if (platform == "linux_x64" || platform == "linux_arm64") { 1257c804472Sopenharmony_ci libs = [] 1267c804472Sopenharmony_ci } 1277c804472Sopenharmony_ci} 1287c804472Sopenharmony_ci 1297c804472Sopenharmony_ciconfig("myconfig") { 1307c804472Sopenharmony_ci cflags = [ 1317c804472Sopenharmony_ci "-std=c++17", 1327c804472Sopenharmony_ci "-Wno-error=implicit-fallthrough", 1337c804472Sopenharmony_ci ] 1347c804472Sopenharmony_ci} 1357c804472Sopenharmony_ci 1367c804472Sopenharmony_ci# copy liteWearable config dir 1377c804472Sopenharmony_ciohos_copy("copy_previewer_fonts_lite") { 1387c804472Sopenharmony_ci sources = [ 1397c804472Sopenharmony_ci "//foundation/arkui/ui_lite/tools/qt/simulator/font/SourceHanSansSC-Regular.otf", 1407c804472Sopenharmony_ci "//foundation/arkui/ui_lite/tools/qt/simulator/font/font.bin", 1417c804472Sopenharmony_ci "//foundation/arkui/ui_lite/tools/qt/simulator/font/line_cj.brk", 1427c804472Sopenharmony_ci ] 1437c804472Sopenharmony_ci outputs = [ target_out_dir + "/previewer/liteWearable/config/" + 1447c804472Sopenharmony_ci "/{{source_file_part}}" ] 1457c804472Sopenharmony_ci module_source_dir = target_out_dir + "/previewer/liteWearable/config/" 1467c804472Sopenharmony_ci module_install_name = "" 1477c804472Sopenharmony_ci} 1487c804472Sopenharmony_ci 1497c804472Sopenharmony_ci# copy ide dynamic lib 1507c804472Sopenharmony_ciohos_copy("copy_ide_library") { 1517c804472Sopenharmony_ci if (platform == "mingw_x86_64") { 1527c804472Sopenharmony_ci suffix = ".dll" 1537c804472Sopenharmony_ci } else if (platform == "mac_arm64" || platform == "mac_x64") { 1547c804472Sopenharmony_ci suffix = ".dylib" 1557c804472Sopenharmony_ci } else if (platform == "linux_x64" || platform == "linux_arm64") { 1567c804472Sopenharmony_ci suffix = ".so" 1577c804472Sopenharmony_ci } 1587c804472Sopenharmony_ci deps = [] 1597c804472Sopenharmony_ci sources = [] 1607c804472Sopenharmony_ci 1617c804472Sopenharmony_ci deps += [ "util:ide_util" ] 1627c804472Sopenharmony_ci out_path = get_label_info("util:ide_util", "root_out_dir") 1637c804472Sopenharmony_ci sources += [ out_path + "/ide/previewer/libide_util" + suffix ] 1647c804472Sopenharmony_ci 1657c804472Sopenharmony_ci deps += [ "jsapp/rich/external:ide_extension" ] 1667c804472Sopenharmony_ci out_path = get_label_info("jsapp/rich/external:ide_extension", "root_out_dir") 1677c804472Sopenharmony_ci sources += [ out_path + "/ide/previewer/libide_extension" + suffix ] 1687c804472Sopenharmony_ci 1697c804472Sopenharmony_ci outputs = [ target_out_dir + "/previewer/common/bin/{{source_file_part}}" ] 1707c804472Sopenharmony_ci module_source_dir = target_out_dir + "/previewer/common/bin/" 1717c804472Sopenharmony_ci module_install_name = "" 1727c804472Sopenharmony_ci} 173