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("//foundation/arkui/ace_engine_lite/simulator.gni")
177c804472Sopenharmony_ciimport("../gn/config.gni")
187c804472Sopenharmony_ci
197c804472Sopenharmony_ciconfig("jsapp_config") {
207c804472Sopenharmony_ci  cflags = [
217c804472Sopenharmony_ci    "-std=c++17",
227c804472Sopenharmony_ci    "-Wall",
237c804472Sopenharmony_ci    "-Wno-deprecated-declarations",
247c804472Sopenharmony_ci  ]
257c804472Sopenharmony_ci  cflags_cc = cflags
267c804472Sopenharmony_ci}
277c804472Sopenharmony_ci
287c804472Sopenharmony_ciconfig("jsapp_config_rich") {
297c804472Sopenharmony_ci  visibility = [ ":*" ]
307c804472Sopenharmony_ci
317c804472Sopenharmony_ci  include_dirs = [ "rich" ]
327c804472Sopenharmony_ci}
337c804472Sopenharmony_ci
347c804472Sopenharmony_ciohos_source_set("jsapp_rich") {
357c804472Sopenharmony_ci  defines = []
367c804472Sopenharmony_ci  if (platform == "mingw_x86_64" && defined(enable_component_test) &&
377c804472Sopenharmony_ci      enable_component_test) {
387c804472Sopenharmony_ci    defines += [ "COMPONENT_TEST_ENABLED" ]
397c804472Sopenharmony_ci  }
407c804472Sopenharmony_ci  configs = [ ":jsapp_config" ]
417c804472Sopenharmony_ci  sources = [
427c804472Sopenharmony_ci    "JsApp.cpp",
437c804472Sopenharmony_ci    "rich/JsAppImpl.cpp",
447c804472Sopenharmony_ci  ]
457c804472Sopenharmony_ci  include_dirs = [
467c804472Sopenharmony_ci    ".",
477c804472Sopenharmony_ci    "rich/",
487c804472Sopenharmony_ci    "../mock/rich/",
497c804472Sopenharmony_ci    "../cli/",
507c804472Sopenharmony_ci    "../util/",
517c804472Sopenharmony_ci    "../mock/",
527c804472Sopenharmony_ci    "./external/",
537c804472Sopenharmony_ci  ]
547c804472Sopenharmony_ci  include_dirs += os_include_dirs
557c804472Sopenharmony_ci  deps = [
567c804472Sopenharmony_ci    "rich/external:ide_extension",
577c804472Sopenharmony_ci    "//third_party/libwebsockets:websockets_static",
587c804472Sopenharmony_ci  ]
597c804472Sopenharmony_ci  external_deps = [
607c804472Sopenharmony_ci    "ace_engine:libace_compatible",
617c804472Sopenharmony_ci    "graphic_2d:librender_service_client",
627c804472Sopenharmony_ci    "window_manager:previewer_window",
637c804472Sopenharmony_ci  ]
647c804472Sopenharmony_ci  if (platform != "linux_x64") {
657c804472Sopenharmony_ci    external_deps += [ "ability_runtime:ability_simulator" ]
667c804472Sopenharmony_ci  }
677c804472Sopenharmony_ci  part_name = "previewer"
687c804472Sopenharmony_ci  subsystem_name = "ide"
697c804472Sopenharmony_ci}
707c804472Sopenharmony_ci
717c804472Sopenharmony_ciohos_source_set("jsapp_lite") {
727c804472Sopenharmony_ci  defines = [ "ENABLE_ICU" ]
737c804472Sopenharmony_ci  if (build_lite_full) {
747c804472Sopenharmony_ci    defines += [ "LITEWEARABLE_SUPPORTED=1" ]
757c804472Sopenharmony_ci  }
767c804472Sopenharmony_ci  configs = [ ":jsapp_config" ]
777c804472Sopenharmony_ci  configs += [ "//third_party/freetype:freetype_config" ]
787c804472Sopenharmony_ci  sources = [
797c804472Sopenharmony_ci    "JsApp.cpp",
807c804472Sopenharmony_ci    "lite/JsAppImpl.cpp",
817c804472Sopenharmony_ci    "lite/TimerTaskHandler.cpp",
827c804472Sopenharmony_ci  ]
837c804472Sopenharmony_ci  include_dirs = [
847c804472Sopenharmony_ci    ".",
857c804472Sopenharmony_ci    "lite/",
867c804472Sopenharmony_ci    "../mock/lite/",
877c804472Sopenharmony_ci    "../util/",
887c804472Sopenharmony_ci    "../mock/",
897c804472Sopenharmony_ci    "../cli",
907c804472Sopenharmony_ci    "//foundation/arkui/ui_lite/interfaces/innerkits/",
917c804472Sopenharmony_ci    "//foundation/arkui/ui_lite/interfaces/kits/",
927c804472Sopenharmony_ci    "//foundation/graphic/graphic_utils_lite/interfaces/innerkits/",
937c804472Sopenharmony_ci    "//foundation/graphic/graphic_utils_lite/interfaces/kits/",
947c804472Sopenharmony_ci    "//foundation/arkui/ui_lite/frameworks/",
957c804472Sopenharmony_ci    "//foundation/arkui/ui_lite/frameworks/dock/",
967c804472Sopenharmony_ci    "//foundation/arkui/ui_lite/interfaces/innerkits/dock/",
977c804472Sopenharmony_ci  ]
987c804472Sopenharmony_ci  if (build_lite_full) {
997c804472Sopenharmony_ci    include_dirs += [
1007c804472Sopenharmony_ci      "//base/sensors/sensorjs_lite/sensor_lite/interfaces/js/builtin/sensor/include/",
1017c804472Sopenharmony_ci      "//base/location/interfaces/kits/geo_lite/js/builtin/include/",
1027c804472Sopenharmony_ci    ]
1037c804472Sopenharmony_ci  }
1047c804472Sopenharmony_ci  deps = [
1057c804472Sopenharmony_ci    "//foundation/arkui/ace_engine_lite/frameworks/targets/simulator:ace_lite",
1067c804472Sopenharmony_ci    "//third_party/libwebsockets:websockets_static",
1077c804472Sopenharmony_ci  ]
1087c804472Sopenharmony_ci  part_name = "previewer"
1097c804472Sopenharmony_ci  subsystem_name = "ide"
1107c804472Sopenharmony_ci}
111