17c804472Sopenharmony_ci# Copyright (c) 2024 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_ciide_previewer_path = "//ide/tools/previewer" 157c804472Sopenharmony_cigoogletest_path = "//third_party/googletest" 167c804472Sopenharmony_cisecodefuzz_path = "//Secodefuzz" 177c804472Sopenharmony_cisecodepits_path = "//Secodepits" 187c804472Sopenharmony_ci 197c804472Sopenharmony_cisecodefuzz_deps = "$secodefuzz_path:secodefuzz" 207c804472Sopenharmony_cisecodepits_deps = "$secodepits_path:secodepits" 217c804472Sopenharmony_cigoogletest_deps = "$googletest_path:gmock_main" 227c804472Sopenharmony_cigoogletest_include_path = "$googletest_path/include" 237c804472Sopenharmony_ci 247c804472Sopenharmony_ciace_engine_path = "//foundation/arkui/ace_engine" 257c804472Sopenharmony_ciace_engine_include_path = [ 267c804472Sopenharmony_ci "$ace_engine_path", 277c804472Sopenharmony_ci "$ace_engine_path/adapter/preview/entrance", 287c804472Sopenharmony_ci "$ace_engine_path/frameworks", 297c804472Sopenharmony_ci "$ace_engine_path/frameworks/base/utils", 307c804472Sopenharmony_ci "$ace_engine_path/frameworks/core/event", 317c804472Sopenharmony_ci "$ace_engine_path/engine", 327c804472Sopenharmony_ci "$ace_engine_path/engine/flutter/shell/platform/common/cpp/public", 337c804472Sopenharmony_ci "$ace_engine_path/engine/ace_adapter/flutter/shell/platform/glfw/public", 347c804472Sopenharmony_ci "$ace_engine_path/frameworks/core/common", 357c804472Sopenharmony_ci "$ace_engine_path/frameworks/core/common/clipboard", 367c804472Sopenharmony_ci "$ace_engine_path/adapter/preview/entrance/clipboard", 377c804472Sopenharmony_ci "$ace_engine_path/interfaces/inner_api/ace", 387c804472Sopenharmony_ci] 397c804472Sopenharmony_ciability_runtime_path = "//foundation/ability/ability_runtime" 407c804472Sopenharmony_ciability_runtime_include_path = [ 417c804472Sopenharmony_ci "$ability_runtime_path/frameworks/simulator/common/include", 427c804472Sopenharmony_ci "$ability_runtime_path/frameworks/simulator/ability_simulator/include", 437c804472Sopenharmony_ci] 447c804472Sopenharmony_ciwindow_manager_path = "//foundation/window/window_manager" 457c804472Sopenharmony_ciwindow_manager_include_path = [ 467c804472Sopenharmony_ci "$window_manager_path/previewer/include", 477c804472Sopenharmony_ci "$window_manager_path/previewer/mock", 487c804472Sopenharmony_ci "$window_manager_path/utils/include", 497c804472Sopenharmony_ci] 507c804472Sopenharmony_cigraphic_2d_path = "//foundation/graphic/graphic_2d" 517c804472Sopenharmony_cigraphic_2d_include_path = [ 527c804472Sopenharmony_ci "$graphic_2d_path/rosen/modules/glfw_render_context/export", 537c804472Sopenharmony_ci "$graphic_2d_path/rosen/modules/platform/ipc_core", 547c804472Sopenharmony_ci "$graphic_2d_path/rosen/modules/platform/image_native", 557c804472Sopenharmony_ci "$graphic_2d_path/rosen/modules/platform/utils", 567c804472Sopenharmony_ci] 577c804472Sopenharmony_ci 587c804472Sopenharmony_ciace_engine_lite_path = "//foundation/arkui/ace_engine_lite" 597c804472Sopenharmony_ciui_lite_path = "//foundation/arkui/ui_lite" 607c804472Sopenharmony_ciui_ext_lite_path = "//foundation/arkui/ui_ext_lite" 617c804472Sopenharmony_cigraphic_utils_lite_path = "//foundation/graphic/graphic_utils_lite" 627c804472Sopenharmony_ciability_lite_path = "//foundation/ability/ability_lite" 637c804472Sopenharmony_ciresource_management_lite_path = "//base/global/resource_management_lite" 647c804472Sopenharmony_cipowermgr_lite_path = "//base/powermgr/powermgr_lite" 657c804472Sopenharmony_cigeo_lite_path = "//base/location/interfaces/kits/geo_lite" 667c804472Sopenharmony_cisensorjs_lite_path = "//base/sensors/sensorjs_lite" 677c804472Sopenharmony_cistartup_init_path = "//base/startup/init" 687c804472Sopenharmony_ciutils_lite_path = "//commonlibrary/utils_lite" 697c804472Sopenharmony_ci 707c804472Sopenharmony_citemplate("ide_test") { 717c804472Sopenharmony_ci executable(target_name) { 727c804472Sopenharmony_ci testonly = invoker.testonly 737c804472Sopenharmony_ci subsystem_name = invoker.subsystem_name 747c804472Sopenharmony_ci part_name = invoker.part_name 757c804472Sopenharmony_ci module_out_path = invoker.module_out_path 767c804472Sopenharmony_ci output_name = invoker.output_name 777c804472Sopenharmony_ci print("$subsystem_name-$part_name-$module_out_path-$output_name") 787c804472Sopenharmony_ci defines = invoker.defines 797c804472Sopenharmony_ci sources = invoker.sources 807c804472Sopenharmony_ci include_dirs = invoker.include_dirs 817c804472Sopenharmony_ci include_dirs += [ googletest_include_path ] 827c804472Sopenharmony_ci deps = invoker.deps 837c804472Sopenharmony_ci deps += [ 847c804472Sopenharmony_ci googletest_deps, 857c804472Sopenharmony_ci secodefuzz_deps, 867c804472Sopenharmony_ci secodepits_deps, 877c804472Sopenharmony_ci ] 887c804472Sopenharmony_ci libs = invoker.libs 897c804472Sopenharmony_ci libs += [ "pthread" ] 907c804472Sopenharmony_ci cflags = invoker.cflags 917c804472Sopenharmony_ci cflags += [ 927c804472Sopenharmony_ci "-std=c++17", 937c804472Sopenharmony_ci "-Wno-deprecated-declarations", 947c804472Sopenharmony_ci "-Wno-reorder", 957c804472Sopenharmony_ci "-Wno-sign-compare", 967c804472Sopenharmony_ci "-Wno-error", 977c804472Sopenharmony_ci "-Wno-warnings", 987c804472Sopenharmony_ci "-Wno-unused-variable", 997c804472Sopenharmony_ci "-fsanitize=address", 1007c804472Sopenharmony_ci "-fsanitize=undefined", 1017c804472Sopenharmony_ci "-fsanitize-coverage=trace-pc", 1027c804472Sopenharmony_ci "-fprofile-arcs", 1037c804472Sopenharmony_ci "-ftest-coverage", 1047c804472Sopenharmony_ci "-fdump-rtl-expand", 1057c804472Sopenharmony_ci "-g", 1067c804472Sopenharmony_ci "-O0", 1077c804472Sopenharmony_ci "-fno-omit-frame-pointer", 1087c804472Sopenharmony_ci ] 1097c804472Sopenharmony_ci cflags_cc = invoker.cflags_cc 1107c804472Sopenharmony_ci cflags_cc += [ 1117c804472Sopenharmony_ci "-fsanitize=address", 1127c804472Sopenharmony_ci "-fsanitize=undefined", 1137c804472Sopenharmony_ci "-fsanitize-coverage=trace-pc", 1147c804472Sopenharmony_ci "-fprofile-arcs", 1157c804472Sopenharmony_ci "-ftest-coverage", 1167c804472Sopenharmony_ci "-fdump-rtl-expand", 1177c804472Sopenharmony_ci "-g", 1187c804472Sopenharmony_ci "-O0", 1197c804472Sopenharmony_ci "-fno-omit-frame-pointer", 1207c804472Sopenharmony_ci ] 1217c804472Sopenharmony_ci ldflags = invoker.ldflags 1227c804472Sopenharmony_ci ldflags += [ 1237c804472Sopenharmony_ci "-fsanitize=address", 1247c804472Sopenharmony_ci "-fsanitize=undefined", 1257c804472Sopenharmony_ci "-fsanitize-coverage=trace-pc", 1267c804472Sopenharmony_ci "-fprofile-arcs", 1277c804472Sopenharmony_ci "-lgcov", 1287c804472Sopenharmony_ci ] 1297c804472Sopenharmony_ci } 1307c804472Sopenharmony_ci} 1317c804472Sopenharmony_ci 1327c804472Sopenharmony_citemplate("ide_fuzztest") { 1337c804472Sopenharmony_ci ide_test(target_name) { 1347c804472Sopenharmony_ci testonly = invoker.testonly 1357c804472Sopenharmony_ci subsystem_name = invoker.subsystem_name 1367c804472Sopenharmony_ci part_name = invoker.part_name 1377c804472Sopenharmony_ci module_out_path = invoker.module_out_path 1387c804472Sopenharmony_ci output_name = invoker.output_name 1397c804472Sopenharmony_ci sources = invoker.sources 1407c804472Sopenharmony_ci include_dirs = invoker.include_dirs 1417c804472Sopenharmony_ci include_dirs += [ 1427c804472Sopenharmony_ci secodefuzz_path, 1437c804472Sopenharmony_ci secodepits_path, 1447c804472Sopenharmony_ci ] 1457c804472Sopenharmony_ci deps = invoker.deps 1467c804472Sopenharmony_ci libs = invoker.libs 1477c804472Sopenharmony_ci cflags = invoker.cflags 1487c804472Sopenharmony_ci cflags_cc = invoker.cflags_cc 1497c804472Sopenharmony_ci ldflags = invoker.ldflags 1507c804472Sopenharmony_ci defines = [] 1517c804472Sopenharmony_ci } 1527c804472Sopenharmony_ci} 1537c804472Sopenharmony_ci 1547c804472Sopenharmony_citemplate("ide_unittest") { 1557c804472Sopenharmony_ci ide_test(target_name) { 1567c804472Sopenharmony_ci testonly = invoker.testonly 1577c804472Sopenharmony_ci subsystem_name = invoker.subsystem_name 1587c804472Sopenharmony_ci part_name = invoker.part_name 1597c804472Sopenharmony_ci module_out_path = invoker.module_out_path 1607c804472Sopenharmony_ci output_name = invoker.output_name 1617c804472Sopenharmony_ci sources = invoker.sources 1627c804472Sopenharmony_ci include_dirs = invoker.include_dirs 1637c804472Sopenharmony_ci deps = invoker.deps 1647c804472Sopenharmony_ci libs = invoker.libs 1657c804472Sopenharmony_ci cflags = invoker.cflags 1667c804472Sopenharmony_ci cflags_cc = invoker.cflags_cc 1677c804472Sopenharmony_ci ldflags = invoker.ldflags 1687c804472Sopenharmony_ci defines = [ 1697c804472Sopenharmony_ci "REPLACE_WINDOW_HEADER=1", 1707c804472Sopenharmony_ci "ENABLE_ICU=1", 1717c804472Sopenharmony_ci ] 1727c804472Sopenharmony_ci } 1737c804472Sopenharmony_ci} 174