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_ciohos_source_set("util_lite") { 197c804472Sopenharmony_ci sources = [ 207c804472Sopenharmony_ci "CallbackQueue.cpp", 217c804472Sopenharmony_ci "CommandParser.cpp", 227c804472Sopenharmony_ci "CppTimer.cpp", 237c804472Sopenharmony_ci "CppTimerManager.cpp", 247c804472Sopenharmony_ci "EndianUtil.cpp", 257c804472Sopenharmony_ci "FileSystem.cpp", 267c804472Sopenharmony_ci "Interrupter.cpp", 277c804472Sopenharmony_ci "JsonReader.cpp", 287c804472Sopenharmony_ci "ModelManager.cpp", 297c804472Sopenharmony_ci "PreviewerEngineLog.cpp", 307c804472Sopenharmony_ci "PublicMethods.cpp", 317c804472Sopenharmony_ci "SharedDataManager.cpp", 327c804472Sopenharmony_ci "TimeTool.cpp", 337c804472Sopenharmony_ci "TraceTool.cpp", 347c804472Sopenharmony_ci "WebSocketServer.cpp", 357c804472Sopenharmony_ci ] 367c804472Sopenharmony_ci cflags = [ "-std=c++17" ] 377c804472Sopenharmony_ci if (platform == "mingw_x86_64") { 387c804472Sopenharmony_ci sources += [ 397c804472Sopenharmony_ci "windows/CrashHandler.cpp", 407c804472Sopenharmony_ci "windows/LocalDate.cpp", 417c804472Sopenharmony_ci "windows/LocalSocket.cpp", 427c804472Sopenharmony_ci "windows/NativeFileSystem.cpp", 437c804472Sopenharmony_ci ] 447c804472Sopenharmony_ci } else if (platform == "mac_arm64" || platform == "mac_x64") { 457c804472Sopenharmony_ci sources += [ 467c804472Sopenharmony_ci "unix/CrashHandler.cpp", 477c804472Sopenharmony_ci "unix/LocalDate.cpp", 487c804472Sopenharmony_ci "unix/LocalSocket.cpp", 497c804472Sopenharmony_ci "unix/NativeFileSystem.cpp", 507c804472Sopenharmony_ci ] 517c804472Sopenharmony_ci } else if (platform == "linux_x64") { 527c804472Sopenharmony_ci sources += [ 537c804472Sopenharmony_ci "unix/CrashHandler.cpp", 547c804472Sopenharmony_ci "unix/LocalDate.cpp", 557c804472Sopenharmony_ci "unix/LocalSocket.cpp", 567c804472Sopenharmony_ci "unix/NativeFileSystem.cpp", 577c804472Sopenharmony_ci ] 587c804472Sopenharmony_ci } 597c804472Sopenharmony_ci 607c804472Sopenharmony_ci include_dirs = [ 617c804472Sopenharmony_ci ".", 627c804472Sopenharmony_ci "../cli/", 637c804472Sopenharmony_ci "../mock/lite/", 647c804472Sopenharmony_ci "//third_party/bounds_checking_function/include/", 657c804472Sopenharmony_ci "//third_party/cJSON/", 667c804472Sopenharmony_ci ] 677c804472Sopenharmony_ci 687c804472Sopenharmony_ci deps = [ 697c804472Sopenharmony_ci "//third_party/cJSON:cjson_static", 707c804472Sopenharmony_ci "//third_party/libwebsockets:websockets_static", 717c804472Sopenharmony_ci ] 727c804472Sopenharmony_ci part_name = "previewer" 737c804472Sopenharmony_ci subsystem_name = "ide" 747c804472Sopenharmony_ci} 757c804472Sopenharmony_ci 767c804472Sopenharmony_ciohos_source_set("util_rich") { 777c804472Sopenharmony_ci libs = [] 787c804472Sopenharmony_ci sources = [ 797c804472Sopenharmony_ci "CallbackQueue.cpp", 807c804472Sopenharmony_ci "CppTimer.cpp", 817c804472Sopenharmony_ci "CppTimerManager.cpp", 827c804472Sopenharmony_ci "EndianUtil.cpp", 837c804472Sopenharmony_ci "Interrupter.cpp", 847c804472Sopenharmony_ci "ModelManager.cpp", 857c804472Sopenharmony_ci "PreviewerEngineLog.cpp", 867c804472Sopenharmony_ci "PublicMethods.cpp", 877c804472Sopenharmony_ci "SharedDataManager.cpp", 887c804472Sopenharmony_ci "TimeTool.cpp", 897c804472Sopenharmony_ci "WebSocketServer.cpp", 907c804472Sopenharmony_ci ] 917c804472Sopenharmony_ci cflags = [ "-std=c++17" ] 927c804472Sopenharmony_ci if (platform == "mingw_x86_64") { 937c804472Sopenharmony_ci sources += [ 947c804472Sopenharmony_ci "windows/CrashHandler.cpp", 957c804472Sopenharmony_ci "windows/LocalSocket.cpp", 967c804472Sopenharmony_ci ] 977c804472Sopenharmony_ci } else { 987c804472Sopenharmony_ci sources += [ 997c804472Sopenharmony_ci "unix/CrashHandler.cpp", 1007c804472Sopenharmony_ci "unix/LocalSocket.cpp", 1017c804472Sopenharmony_ci ] 1027c804472Sopenharmony_ci } 1037c804472Sopenharmony_ci 1047c804472Sopenharmony_ci include_dirs = [ 1057c804472Sopenharmony_ci ".", 1067c804472Sopenharmony_ci "../cli/", 1077c804472Sopenharmony_ci "../mock/rich/", 1087c804472Sopenharmony_ci "//third_party/bounds_checking_function/include/", 1097c804472Sopenharmony_ci ] 1107c804472Sopenharmony_ci 1117c804472Sopenharmony_ci deps = [ 1127c804472Sopenharmony_ci ":ide_util", 1137c804472Sopenharmony_ci "//third_party/libwebsockets:websockets_static", 1147c804472Sopenharmony_ci ] 1157c804472Sopenharmony_ci part_name = "previewer" 1167c804472Sopenharmony_ci subsystem_name = "ide" 1177c804472Sopenharmony_ci} 1187c804472Sopenharmony_ci 1197c804472Sopenharmony_ciohos_shared_library("ide_util") { 1207c804472Sopenharmony_ci if (is_linux || is_mac || is_mingw) { 1217c804472Sopenharmony_ci libs = [] 1227c804472Sopenharmony_ci sources = [ 1237c804472Sopenharmony_ci "CommandParser.cpp", 1247c804472Sopenharmony_ci "FileSystem.cpp", 1257c804472Sopenharmony_ci "JsonReader.cpp", 1267c804472Sopenharmony_ci "PreviewerEngineLog.cpp", 1277c804472Sopenharmony_ci "TimeTool.cpp", 1287c804472Sopenharmony_ci "TraceTool.cpp", 1297c804472Sopenharmony_ci ] 1307c804472Sopenharmony_ci cflags = [ "-std=c++17" ] 1317c804472Sopenharmony_ci cflags_cc = cflags 1327c804472Sopenharmony_ci if (platform == "mingw_x86_64") { 1337c804472Sopenharmony_ci sources += [ 1347c804472Sopenharmony_ci "windows/ClipboardHelper.cpp", 1357c804472Sopenharmony_ci "windows/KeyboardHelper.cpp", 1367c804472Sopenharmony_ci "windows/LocalDate.cpp", 1377c804472Sopenharmony_ci "windows/LocalSocket.cpp", 1387c804472Sopenharmony_ci "windows/NativeFileSystem.cpp", 1397c804472Sopenharmony_ci "windows/StringHelper.cpp", 1407c804472Sopenharmony_ci ] 1417c804472Sopenharmony_ci if (defined(enable_component_test) && enable_component_test) { 1427c804472Sopenharmony_ci defines = [ "COMPONENT_TEST_ENABLED" ] 1437c804472Sopenharmony_ci } 1447c804472Sopenharmony_ci } else if (platform == "mac_arm64" || platform == "mac_x64") { 1457c804472Sopenharmony_ci cflags += [ "-DNS_FORMAT_ARGUMENT(A)=" ] 1467c804472Sopenharmony_ci sources += [ 1477c804472Sopenharmony_ci "unix/ClipboardHelper.cpp", 1487c804472Sopenharmony_ci "unix/ClipboardObjc.mm", 1497c804472Sopenharmony_ci "unix/KeyboardHelper.cpp", 1507c804472Sopenharmony_ci "unix/KeyboardObjc.mm", 1517c804472Sopenharmony_ci "unix/LocalDate.cpp", 1527c804472Sopenharmony_ci "unix/LocalSocket.cpp", 1537c804472Sopenharmony_ci "unix/NativeFileSystem.cpp", 1547c804472Sopenharmony_ci ] 1557c804472Sopenharmony_ci if (defined(enable_gn_2021)) { 1567c804472Sopenharmony_ci frameworks = [ 1577c804472Sopenharmony_ci "Cocoa.framework", 1587c804472Sopenharmony_ci "Carbon.framework", 1597c804472Sopenharmony_ci ] 1607c804472Sopenharmony_ci } else { 1617c804472Sopenharmony_ci libs = [ 1627c804472Sopenharmony_ci "Cocoa.framework", 1637c804472Sopenharmony_ci "Carbon.framework", 1647c804472Sopenharmony_ci ] 1657c804472Sopenharmony_ci } 1667c804472Sopenharmony_ci } else if (platform == "linux_x64") { 1677c804472Sopenharmony_ci sources += [ 1687c804472Sopenharmony_ci "linux/ClipboardHelper.cpp", 1697c804472Sopenharmony_ci "linux/ClipboardX11.cpp", 1707c804472Sopenharmony_ci "linux/KeyboardHelper.cpp", 1717c804472Sopenharmony_ci "unix/LocalDate.cpp", 1727c804472Sopenharmony_ci "unix/LocalSocket.cpp", 1737c804472Sopenharmony_ci "unix/NativeFileSystem.cpp", 1747c804472Sopenharmony_ci ] 1757c804472Sopenharmony_ci libs += [ "X11" ] 1767c804472Sopenharmony_ci } 1777c804472Sopenharmony_ci 1787c804472Sopenharmony_ci include_dirs = [ 1797c804472Sopenharmony_ci ".", 1807c804472Sopenharmony_ci "//third_party/bounds_checking_function/include/", 1817c804472Sopenharmony_ci "//third_party/cJSON/", 1827c804472Sopenharmony_ci ] 1837c804472Sopenharmony_ci 1847c804472Sopenharmony_ci deps = [ 1857c804472Sopenharmony_ci "//third_party/bounds_checking_function:libsec_shared", 1867c804472Sopenharmony_ci "//third_party/cJSON:cjson", 1877c804472Sopenharmony_ci ] 1887c804472Sopenharmony_ci } 1897c804472Sopenharmony_ci part_name = "previewer" 1907c804472Sopenharmony_ci subsystem_name = "ide" 1917c804472Sopenharmony_ci} 192