13af6ab5fSopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd. 23af6ab5fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 33af6ab5fSopenharmony_ci# you may not use this file except in compliance with the License. 43af6ab5fSopenharmony_ci# You may obtain a copy of the License at 53af6ab5fSopenharmony_ci# 63af6ab5fSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 73af6ab5fSopenharmony_ci# 83af6ab5fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 93af6ab5fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 103af6ab5fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 113af6ab5fSopenharmony_ci# See the License for the specific language governing permissions and 123af6ab5fSopenharmony_ci# limitations under the License. 133af6ab5fSopenharmony_ci 143af6ab5fSopenharmony_cicmake_minimum_required (VERSION 3.5.0) 153af6ab5fSopenharmony_ci 163af6ab5fSopenharmony_ciinclude(cmake/coverage.cmake) 173af6ab5fSopenharmony_ci 183af6ab5fSopenharmony_ciproject (es2panda) 193af6ab5fSopenharmony_ciset(CMAKE_EXPORT_COMPILE_COMMANDS ON) 203af6ab5fSopenharmony_ci 213af6ab5fSopenharmony_ciset(ES2PANDA_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) 223af6ab5fSopenharmony_ciset(ES2PANDA_BINARY_ROOT ${CMAKE_CURRENT_BINARY_DIR}) 233af6ab5fSopenharmony_ci 243af6ab5fSopenharmony_ciset(OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}) 253af6ab5fSopenharmony_ciset(GENERATED_DIR ${OUTPUT_DIR}/generated) 263af6ab5fSopenharmony_ciset(GENERATED_STAMP ${OUTPUT_DIR}/gen_dir.stamp) 273af6ab5fSopenharmony_ciif(CMAKE_CROSSCOMPILING) 283af6ab5fSopenharmony_ci ExternalProject_Get_Property(panda_host_tools binary_dir) 293af6ab5fSopenharmony_ci set(DEFAULT_ARKTSCONFIG "${binary_dir}/tools/es2panda/aot") 303af6ab5fSopenharmony_cielse() 313af6ab5fSopenharmony_ci set(DEFAULT_ARKTSCONFIG "${CMAKE_BINARY_DIR}/bin") 323af6ab5fSopenharmony_ciendif() 333af6ab5fSopenharmony_cifile(MAKE_DIRECTORY "${GENERATED_DIR}") 343af6ab5fSopenharmony_ciif(PANDA_WITH_ETS) 353af6ab5fSopenharmony_ci file(WRITE "${GENERATED_DIR}/arktsconfig.json" 363af6ab5fSopenharmony_ci "{\n" 373af6ab5fSopenharmony_ci " \"compilerOptions\": {\n" 383af6ab5fSopenharmony_ci " \"baseUrl\": \"${PANDA_ROOT}\",\n" 393af6ab5fSopenharmony_ci " \"paths\": {\n" 403af6ab5fSopenharmony_ci " \"std\": [\"${PANDA_ROOT}/plugins/ets/stdlib/std\"],\n" 413af6ab5fSopenharmony_ci " \"escompat\": [\"${PANDA_ROOT}/plugins/ets/stdlib/escompat\"],\n" 423af6ab5fSopenharmony_ci " \"import_tests\": [\"${CMAKE_CURRENT_SOURCE_DIR}/test/parser/ets/import_tests\"],\n" 433af6ab5fSopenharmony_ci " \"dynamic_import_tests\": [\"${CMAKE_CURRENT_SOURCE_DIR}/test/parser/ets/dynamic_import_tests\"]\n" 443af6ab5fSopenharmony_ci " },\n" 453af6ab5fSopenharmony_ci " \"dynamicPaths\": {\n" 463af6ab5fSopenharmony_ci " \"dynamic_js_import_tests\": {\"language\": \"js\", \"hasDecl\": false},\n" 473af6ab5fSopenharmony_ci " \"${CMAKE_CURRENT_SOURCE_DIR}/test/parser/ets/dynamic_import_tests\": {\"language\": \"js\", \"hasDecl\": true}\n" 483af6ab5fSopenharmony_ci " }\n" 493af6ab5fSopenharmony_ci " }\n" 503af6ab5fSopenharmony_ci "}\n" 513af6ab5fSopenharmony_ci ) 523af6ab5fSopenharmony_ci file(COPY "${GENERATED_DIR}/arktsconfig.json" DESTINATION "${DEFAULT_ARKTSCONFIG}/") 533af6ab5fSopenharmony_ci file(COPY "${GENERATED_DIR}/arktsconfig.json" DESTINATION "${CMAKE_BINARY_DIR}/bin") 543af6ab5fSopenharmony_ciendif() 553af6ab5fSopenharmony_ci 563af6ab5fSopenharmony_ciif(NOT PANDA_PRODUCT_BUILD) 573af6ab5fSopenharmony_ci execute_process( 583af6ab5fSopenharmony_ci COMMAND date "+%Y-%m-%d_%H:%M:%S" 593af6ab5fSopenharmony_ci OUTPUT_VARIABLE CURRENT_DATE 603af6ab5fSopenharmony_ci OUTPUT_STRIP_TRAILING_WHITESPACE 613af6ab5fSopenharmony_ci ) 623af6ab5fSopenharmony_ci execute_process( 633af6ab5fSopenharmony_ci COMMAND git rev-parse HEAD 643af6ab5fSopenharmony_ci WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 653af6ab5fSopenharmony_ci OUTPUT_VARIABLE LAST_COMMIT_HASH 663af6ab5fSopenharmony_ci OUTPUT_STRIP_TRAILING_WHITESPACE 673af6ab5fSopenharmony_ci ) 683af6ab5fSopenharmony_ci 693af6ab5fSopenharmony_ci set_source_files_properties( 703af6ab5fSopenharmony_ci util/options.cpp 713af6ab5fSopenharmony_ci PROPERTIES COMPILE_DEFINITIONS "ES2PANDA_DATE=\"${CURRENT_DATE}\";ES2PANDA_HASH=\"${LAST_COMMIT_HASH}\"" 723af6ab5fSopenharmony_ci ) 733af6ab5fSopenharmony_ciendif() 743af6ab5fSopenharmony_ci 753af6ab5fSopenharmony_ciadd_custom_command( 763af6ab5fSopenharmony_ci OUTPUT ${GENERATED_STAMP} 773af6ab5fSopenharmony_ci COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT_DIR} 783af6ab5fSopenharmony_ci COMMAND ${CMAKE_COMMAND} -E make_directory ${GENERATED_DIR} 793af6ab5fSopenharmony_ci COMMAND ${CMAKE_COMMAND} -E touch ${GENERATED_STAMP} 803af6ab5fSopenharmony_ci) 813af6ab5fSopenharmony_ci 823af6ab5fSopenharmony_ciset(TEMPLATES 833af6ab5fSopenharmony_ci isa.h.erb 843af6ab5fSopenharmony_ci formats.h.erb 853af6ab5fSopenharmony_ci) 863af6ab5fSopenharmony_ci 873af6ab5fSopenharmony_cipanda_isa_gen( 883af6ab5fSopenharmony_ci TEMPLATES ${TEMPLATES} 893af6ab5fSopenharmony_ci SOURCE ${CMAKE_CURRENT_LIST_DIR}/compiler/templates 903af6ab5fSopenharmony_ci DESTINATION ${GENERATED_DIR} 913af6ab5fSopenharmony_ci EXTRA_DEPENDENCIES ${GENERATED_STAMP} 923af6ab5fSopenharmony_ci) 933af6ab5fSopenharmony_ci 943af6ab5fSopenharmony_cipanda_gen( 953af6ab5fSopenharmony_ci DATA ${CMAKE_CURRENT_SOURCE_DIR}/lexer/scripts/keywords.yaml 963af6ab5fSopenharmony_ci TARGET_NAME es2panda_keywords 973af6ab5fSopenharmony_ci TEMPLATES keywords.h.erb 983af6ab5fSopenharmony_ci API 993af6ab5fSopenharmony_ci ${CMAKE_CURRENT_SOURCE_DIR}/lexer/scripts/keywords.rb 1003af6ab5fSopenharmony_ci SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/lexer/templates 1013af6ab5fSopenharmony_ci DESTINATION ${GENERATED_DIR} 1023af6ab5fSopenharmony_ci) 1033af6ab5fSopenharmony_ci 1043af6ab5fSopenharmony_cipanda_gen( 1053af6ab5fSopenharmony_ci DATA ${CMAKE_CURRENT_SOURCE_DIR}/compiler/scripts/signatures.yaml 1063af6ab5fSopenharmony_ci TARGET_NAME es2panda_signatures 1073af6ab5fSopenharmony_ci TEMPLATES signatures.h.erb 1083af6ab5fSopenharmony_ci API 1093af6ab5fSopenharmony_ci ${CMAKE_CURRENT_SOURCE_DIR}/compiler/scripts/signatures.rb 1103af6ab5fSopenharmony_ci SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/compiler/templates 1113af6ab5fSopenharmony_ci DESTINATION ${GENERATED_DIR} 1123af6ab5fSopenharmony_ci) 1133af6ab5fSopenharmony_ci 1143af6ab5fSopenharmony_ciset(ES2PANDA_LIB_SRC 1153af6ab5fSopenharmony_ci ast_verifier/ASTVerifier.cpp 1163af6ab5fSopenharmony_ci ast_verifier/arithmeticOperationValid.cpp 1173af6ab5fSopenharmony_ci ast_verifier/checkAbstractMethod.cpp 1183af6ab5fSopenharmony_ci ast_verifier/checkContext.cpp 1193af6ab5fSopenharmony_ci ast_verifier/checkInfiniteLoop.cpp 1203af6ab5fSopenharmony_ci ast_verifier/checkScopeDeclaration.cpp 1213af6ab5fSopenharmony_ci ast_verifier/everyChildHasValidParent.cpp 1223af6ab5fSopenharmony_ci ast_verifier/everyChildInParentRange.cpp 1233af6ab5fSopenharmony_ci ast_verifier/getterSetterValidation.cpp 1243af6ab5fSopenharmony_ci ast_verifier/helpers.cpp 1253af6ab5fSopenharmony_ci ast_verifier/identifierHasVariable.cpp 1263af6ab5fSopenharmony_ci ast_verifier/importExportAccessValid.cpp 1273af6ab5fSopenharmony_ci ast_verifier/nodeHasParent.cpp 1283af6ab5fSopenharmony_ci ast_verifier/nodeHasSourceRange.cpp 1293af6ab5fSopenharmony_ci ast_verifier/nodeHasType.cpp 1303af6ab5fSopenharmony_ci ast_verifier/referenceTypeAnnotationIsNull.cpp 1313af6ab5fSopenharmony_ci ast_verifier/forLoopCorrectlyInitialized.cpp 1323af6ab5fSopenharmony_ci ast_verifier/modifierAccessValid.cpp 1333af6ab5fSopenharmony_ci ast_verifier/sequenceExpressionHasLastType.cpp 1343af6ab5fSopenharmony_ci ast_verifier/variableHasEnclosingScope.cpp 1353af6ab5fSopenharmony_ci ast_verifier/variableHasScope.cpp 1363af6ab5fSopenharmony_ci ast_verifier/variableNameIdentifierNameSame.cpp 1373af6ab5fSopenharmony_ci es2panda.cpp 1383af6ab5fSopenharmony_ci varbinder/ASBinder.cpp 1393af6ab5fSopenharmony_ci varbinder/TSBinder.cpp 1403af6ab5fSopenharmony_ci varbinder/TypedBinder.cpp 1413af6ab5fSopenharmony_ci varbinder/ETSBinder.cpp 1423af6ab5fSopenharmony_ci varbinder/JSBinder.cpp 1433af6ab5fSopenharmony_ci varbinder/varbinder.cpp 1443af6ab5fSopenharmony_ci varbinder/declaration.cpp 1453af6ab5fSopenharmony_ci varbinder/recordTable.cpp 1463af6ab5fSopenharmony_ci varbinder/scope.cpp 1473af6ab5fSopenharmony_ci varbinder/variable.cpp 1483af6ab5fSopenharmony_ci compiler/base/catchTable.cpp 1493af6ab5fSopenharmony_ci compiler/base/condition.cpp 1503af6ab5fSopenharmony_ci compiler/base/destructuring.cpp 1513af6ab5fSopenharmony_ci compiler/base/hoisting.cpp 1523af6ab5fSopenharmony_ci compiler/base/iterators.cpp 1533af6ab5fSopenharmony_ci compiler/base/lexenv.cpp 1543af6ab5fSopenharmony_ci compiler/base/literals.cpp 1553af6ab5fSopenharmony_ci compiler/base/lreference.cpp 1563af6ab5fSopenharmony_ci compiler/base/optionalChain.cpp 1573af6ab5fSopenharmony_ci compiler/core/codeGen.cpp 1583af6ab5fSopenharmony_ci compiler/core/compileJob.cpp 1593af6ab5fSopenharmony_ci compiler/core/compileQueue.cpp 1603af6ab5fSopenharmony_ci compiler/core/compilerImpl.cpp 1613af6ab5fSopenharmony_ci compiler/core/dynamicContext.cpp 1623af6ab5fSopenharmony_ci compiler/core/emitter.cpp 1633af6ab5fSopenharmony_ci compiler/core/JSCompiler.cpp 1643af6ab5fSopenharmony_ci compiler/core/JSCompilerUnreachable.cpp 1653af6ab5fSopenharmony_ci compiler/core/JSemitter.cpp 1663af6ab5fSopenharmony_ci compiler/core/envScope.cpp 1673af6ab5fSopenharmony_ci compiler/core/function.cpp 1683af6ab5fSopenharmony_ci compiler/core/labelTarget.cpp 1693af6ab5fSopenharmony_ci compiler/core/moduleContext.cpp 1703af6ab5fSopenharmony_ci compiler/core/pandagen.cpp 1713af6ab5fSopenharmony_ci compiler/core/programElement.cpp 1723af6ab5fSopenharmony_ci compiler/core/regAllocator.cpp 1733af6ab5fSopenharmony_ci compiler/core/regScope.cpp 1743af6ab5fSopenharmony_ci compiler/core/regSpiller.cpp 1753af6ab5fSopenharmony_ci compiler/core/ETSCompiler.cpp 1763af6ab5fSopenharmony_ci compiler/core/ETSCompilerUnrechable.cpp 1773af6ab5fSopenharmony_ci compiler/core/ETSemitter.cpp 1783af6ab5fSopenharmony_ci compiler/core/ETSGen.cpp 1793af6ab5fSopenharmony_ci compiler/core/ETSfunction.cpp 1803af6ab5fSopenharmony_ci compiler/core/switchBuilder.cpp 1813af6ab5fSopenharmony_ci compiler/core/targetTypeContext.cpp 1823af6ab5fSopenharmony_ci compiler/core/vReg.cpp 1833af6ab5fSopenharmony_ci compiler/debugger/debuginfoDumper.cpp 1843af6ab5fSopenharmony_ci compiler/function/asyncFunctionBuilder.cpp 1853af6ab5fSopenharmony_ci compiler/function/asyncGeneratorFunctionBuilder.cpp 1863af6ab5fSopenharmony_ci compiler/function/functionBuilder.cpp 1873af6ab5fSopenharmony_ci compiler/function/generatorFunctionBuilder.cpp 1883af6ab5fSopenharmony_ci compiler/lowering/checkerPhase.cpp 1893af6ab5fSopenharmony_ci compiler/lowering/scopesInit/savedBindingsCtx.cpp 1903af6ab5fSopenharmony_ci compiler/lowering/scopesInit/scopesInitPhase.cpp 1913af6ab5fSopenharmony_ci compiler/lowering/phase.cpp 1923af6ab5fSopenharmony_ci compiler/lowering/plugin_phase.cpp 1933af6ab5fSopenharmony_ci compiler/lowering/resolveIdentifiers.cpp 1943af6ab5fSopenharmony_ci compiler/lowering/util.cpp 1953af6ab5fSopenharmony_ci compiler/lowering/ets/topLevelStmts/importExportDecls.cpp 1963af6ab5fSopenharmony_ci compiler/lowering/ets/topLevelStmts/globalClassHandler.cpp 1973af6ab5fSopenharmony_ci compiler/lowering/ets/topLevelStmts/globalDeclTransformer.cpp 1983af6ab5fSopenharmony_ci compiler/lowering/ets/topLevelStmts/topLevelStmts.cpp 1993af6ab5fSopenharmony_ci compiler/lowering/ets/expressionLambdaLowering.cpp 2003af6ab5fSopenharmony_ci compiler/lowering/ets/genericBridgesLowering.cpp 2013af6ab5fSopenharmony_ci compiler/lowering/ets/boxingForLocals.cpp 2023af6ab5fSopenharmony_ci compiler/lowering/ets/capturedVariables.cpp 2033af6ab5fSopenharmony_ci compiler/lowering/ets/lambdaLowering.cpp 2043af6ab5fSopenharmony_ci compiler/lowering/ets/spreadLowering.cpp 2053af6ab5fSopenharmony_ci compiler/lowering/ets/localClassLowering.cpp 2063af6ab5fSopenharmony_ci compiler/lowering/ets/objectIndexAccess.cpp 2073af6ab5fSopenharmony_ci compiler/lowering/ets/objectIterator.cpp 2083af6ab5fSopenharmony_ci compiler/lowering/ets/interfacePropertyDeclarations.cpp 2093af6ab5fSopenharmony_ci compiler/lowering/ets/opAssignment.cpp 2103af6ab5fSopenharmony_ci compiler/lowering/ets/ambientLowering.cpp 2113af6ab5fSopenharmony_ci compiler/lowering/ets/bigintLowering.cpp 2123af6ab5fSopenharmony_ci compiler/lowering/ets/constStringToCharLowering.cpp 2133af6ab5fSopenharmony_ci compiler/lowering/ets/recordLowering.cpp 2143af6ab5fSopenharmony_ci compiler/lowering/ets/tupleLowering.cpp 2153af6ab5fSopenharmony_ci compiler/lowering/ets/unionLowering.cpp 2163af6ab5fSopenharmony_ci compiler/lowering/ets/optionalLowering.cpp 2173af6ab5fSopenharmony_ci compiler/lowering/ets/expandBrackets.cpp 2183af6ab5fSopenharmony_ci compiler/lowering/ets/packageImplicitImport.cpp 2193af6ab5fSopenharmony_ci compiler/lowering/ets/partialExportClassGen.cpp 2203af6ab5fSopenharmony_ci compiler/lowering/ets/promiseVoid.cpp 2213af6ab5fSopenharmony_ci compiler/lowering/ets/structLowering.cpp 2223af6ab5fSopenharmony_ci compiler/lowering/ets/defaultParameterLowering.cpp 2233af6ab5fSopenharmony_ci compiler/lowering/ets/objectLiteralLowering.cpp 2243af6ab5fSopenharmony_ci compiler/lowering/ets/interfaceObjectLiteralLowering.cpp 2253af6ab5fSopenharmony_ci compiler/lowering/ets/stringComparison.cpp 2263af6ab5fSopenharmony_ci compiler/lowering/ets/stringConstructorLowering.cpp 2273af6ab5fSopenharmony_ci compiler/lowering/ets/enumLowering.cpp 2283af6ab5fSopenharmony_ci compiler/lowering/ets/enumPostCheckLowering.cpp 2293af6ab5fSopenharmony_ci ir/astDump.cpp 2303af6ab5fSopenharmony_ci ir/srcDump.cpp 2313af6ab5fSopenharmony_ci ir/astNode.cpp 2323af6ab5fSopenharmony_ci ir/irnode.cpp 2333af6ab5fSopenharmony_ci ir/typeNode.cpp 2343af6ab5fSopenharmony_ci ir/opaqueTypeNode.cpp 2353af6ab5fSopenharmony_ci ir/base/catchClause.cpp 2363af6ab5fSopenharmony_ci ir/base/classElement.cpp 2373af6ab5fSopenharmony_ci ir/base/classDefinition.cpp 2383af6ab5fSopenharmony_ci ir/base/classProperty.cpp 2393af6ab5fSopenharmony_ci ir/base/classStaticBlock.cpp 2403af6ab5fSopenharmony_ci ir/base/decorator.cpp 2413af6ab5fSopenharmony_ci ir/base/metaProperty.cpp 2423af6ab5fSopenharmony_ci ir/base/methodDefinition.cpp 2433af6ab5fSopenharmony_ci ir/base/namespaceDefinition.cpp 2443af6ab5fSopenharmony_ci ir/base/property.cpp 2453af6ab5fSopenharmony_ci ir/base/scriptFunction.cpp 2463af6ab5fSopenharmony_ci ir/base/scriptFunctionSignature.cpp 2473af6ab5fSopenharmony_ci ir/base/spreadElement.cpp 2483af6ab5fSopenharmony_ci ir/base/templateElement.cpp 2493af6ab5fSopenharmony_ci ir/base/tsIndexSignature.cpp 2503af6ab5fSopenharmony_ci ir/base/tsMethodSignature.cpp 2513af6ab5fSopenharmony_ci ir/base/tsPropertySignature.cpp 2523af6ab5fSopenharmony_ci ir/base/tsSignatureDeclaration.cpp 2533af6ab5fSopenharmony_ci ir/expression.cpp 2543af6ab5fSopenharmony_ci ir/expressions/arrayExpression.cpp 2553af6ab5fSopenharmony_ci ir/expressions/arrowFunctionExpression.cpp 2563af6ab5fSopenharmony_ci ir/expressions/assignmentExpression.cpp 2573af6ab5fSopenharmony_ci ir/expressions/awaitExpression.cpp 2583af6ab5fSopenharmony_ci ir/expressions/binaryExpression.cpp 2593af6ab5fSopenharmony_ci ir/expressions/blockExpression.cpp 2603af6ab5fSopenharmony_ci ir/expressions/callExpression.cpp 2613af6ab5fSopenharmony_ci ir/expressions/chainExpression.cpp 2623af6ab5fSopenharmony_ci ir/expressions/classExpression.cpp 2633af6ab5fSopenharmony_ci ir/expressions/conditionalExpression.cpp 2643af6ab5fSopenharmony_ci ir/expressions/directEvalExpression.cpp 2653af6ab5fSopenharmony_ci ir/expressions/functionExpression.cpp 2663af6ab5fSopenharmony_ci ir/expressions/identifier.cpp 2673af6ab5fSopenharmony_ci ir/expressions/dummyNode.cpp 2683af6ab5fSopenharmony_ci ir/expressions/importExpression.cpp 2693af6ab5fSopenharmony_ci ir/expressions/literal.cpp 2703af6ab5fSopenharmony_ci ir/expressions/literals/bigIntLiteral.cpp 2713af6ab5fSopenharmony_ci ir/expressions/literals/booleanLiteral.cpp 2723af6ab5fSopenharmony_ci ir/expressions/literals/charLiteral.cpp 2733af6ab5fSopenharmony_ci ir/expressions/literals/nullLiteral.cpp 2743af6ab5fSopenharmony_ci ir/expressions/literals/numberLiteral.cpp 2753af6ab5fSopenharmony_ci ir/expressions/literals/regExpLiteral.cpp 2763af6ab5fSopenharmony_ci ir/expressions/literals/stringLiteral.cpp 2773af6ab5fSopenharmony_ci ir/expressions/literals/undefinedLiteral.cpp 2783af6ab5fSopenharmony_ci ir/expressions/memberExpression.cpp 2793af6ab5fSopenharmony_ci ir/expressions/newExpression.cpp 2803af6ab5fSopenharmony_ci ir/expressions/objectExpression.cpp 2813af6ab5fSopenharmony_ci ir/expressions/omittedExpression.cpp 2823af6ab5fSopenharmony_ci ir/expressions/sequenceExpression.cpp 2833af6ab5fSopenharmony_ci ir/expressions/superExpression.cpp 2843af6ab5fSopenharmony_ci ir/expressions/taggedTemplateExpression.cpp 2853af6ab5fSopenharmony_ci ir/expressions/templateLiteral.cpp 2863af6ab5fSopenharmony_ci ir/expressions/thisExpression.cpp 2873af6ab5fSopenharmony_ci ir/expressions/typeofExpression.cpp 2883af6ab5fSopenharmony_ci ir/expressions/unaryExpression.cpp 2893af6ab5fSopenharmony_ci ir/expressions/updateExpression.cpp 2903af6ab5fSopenharmony_ci ir/expressions/yieldExpression.cpp 2913af6ab5fSopenharmony_ci ir/module/exportAllDeclaration.cpp 2923af6ab5fSopenharmony_ci ir/module/exportDefaultDeclaration.cpp 2933af6ab5fSopenharmony_ci ir/module/exportNamedDeclaration.cpp 2943af6ab5fSopenharmony_ci ir/module/exportSpecifier.cpp 2953af6ab5fSopenharmony_ci ir/module/importDeclaration.cpp 2963af6ab5fSopenharmony_ci ir/module/importDefaultSpecifier.cpp 2973af6ab5fSopenharmony_ci ir/module/importNamespaceSpecifier.cpp 2983af6ab5fSopenharmony_ci ir/module/importSpecifier.cpp 2993af6ab5fSopenharmony_ci ir/statement.cpp 3003af6ab5fSopenharmony_ci ir/statements/assertStatement.cpp 3013af6ab5fSopenharmony_ci ir/statements/blockStatement.cpp 3023af6ab5fSopenharmony_ci ir/statements/breakStatement.cpp 3033af6ab5fSopenharmony_ci ir/statements/classDeclaration.cpp 3043af6ab5fSopenharmony_ci ir/ets/etsStructDeclaration.cpp 3053af6ab5fSopenharmony_ci ir/ets/etsReExportDeclaration.cpp 3063af6ab5fSopenharmony_ci ir/statements/continueStatement.cpp 3073af6ab5fSopenharmony_ci ir/statements/debuggerStatement.cpp 3083af6ab5fSopenharmony_ci ir/statements/doWhileStatement.cpp 3093af6ab5fSopenharmony_ci ir/statements/emptyStatement.cpp 3103af6ab5fSopenharmony_ci ir/statements/expressionStatement.cpp 3113af6ab5fSopenharmony_ci ir/statements/forInStatement.cpp 3123af6ab5fSopenharmony_ci ir/statements/forOfStatement.cpp 3133af6ab5fSopenharmony_ci ir/statements/forUpdateStatement.cpp 3143af6ab5fSopenharmony_ci ir/statements/functionDeclaration.cpp 3153af6ab5fSopenharmony_ci ir/statements/ifStatement.cpp 3163af6ab5fSopenharmony_ci ir/statements/labelledStatement.cpp 3173af6ab5fSopenharmony_ci ir/statements/loopStatement.cpp 3183af6ab5fSopenharmony_ci ir/statements/namespaceDeclaration.cpp 3193af6ab5fSopenharmony_ci ir/statements/returnStatement.cpp 3203af6ab5fSopenharmony_ci ir/statements/switchCaseStatement.cpp 3213af6ab5fSopenharmony_ci ir/statements/switchStatement.cpp 3223af6ab5fSopenharmony_ci ir/statements/throwStatement.cpp 3233af6ab5fSopenharmony_ci ir/statements/tryStatement.cpp 3243af6ab5fSopenharmony_ci ir/statements/variableDeclaration.cpp 3253af6ab5fSopenharmony_ci ir/statements/variableDeclarator.cpp 3263af6ab5fSopenharmony_ci ir/statements/whileStatement.cpp 3273af6ab5fSopenharmony_ci ir/as/namedType.cpp 3283af6ab5fSopenharmony_ci ir/as/prefixAssertionExpression.cpp 3293af6ab5fSopenharmony_ci ir/ets/etsClassLiteral.cpp 3303af6ab5fSopenharmony_ci ir/ets/etsFunctionType.cpp 3313af6ab5fSopenharmony_ci ir/ets/etsLaunchExpression.cpp 3323af6ab5fSopenharmony_ci ir/ets/etsNewArrayInstanceExpression.cpp 3333af6ab5fSopenharmony_ci ir/ets/etsNewClassInstanceExpression.cpp 3343af6ab5fSopenharmony_ci ir/ets/etsNewMultiDimArrayInstanceExpression.cpp 3353af6ab5fSopenharmony_ci ir/ets/etsPackageDeclaration.cpp 3363af6ab5fSopenharmony_ci ir/ets/etsParameterExpression.cpp 3373af6ab5fSopenharmony_ci ir/ets/etsPrimitiveType.cpp 3383af6ab5fSopenharmony_ci ir/ets/etsNullishTypes.cpp 3393af6ab5fSopenharmony_ci ir/ets/etsScript.cpp 3403af6ab5fSopenharmony_ci ir/ets/etsStringLiteralType.cpp 3413af6ab5fSopenharmony_ci ir/ets/etsTuple.cpp 3423af6ab5fSopenharmony_ci ir/ets/etsTypeReference.cpp 3433af6ab5fSopenharmony_ci ir/ets/etsTypeReferencePart.cpp 3443af6ab5fSopenharmony_ci ir/ets/etsUnionType.cpp 3453af6ab5fSopenharmony_ci ir/ets/etsWildcardType.cpp 3463af6ab5fSopenharmony_ci ir/ets/etsImportSource.cpp 3473af6ab5fSopenharmony_ci ir/ts/tsAnyKeyword.cpp 3483af6ab5fSopenharmony_ci ir/ts/tsArrayType.cpp 3493af6ab5fSopenharmony_ci ir/ts/tsAsExpression.cpp 3503af6ab5fSopenharmony_ci ir/ts/tsBigintKeyword.cpp 3513af6ab5fSopenharmony_ci ir/ts/tsBooleanKeyword.cpp 3523af6ab5fSopenharmony_ci ir/ts/tsClassImplements.cpp 3533af6ab5fSopenharmony_ci ir/ts/tsConditionalType.cpp 3543af6ab5fSopenharmony_ci ir/ts/tsConstructorType.cpp 3553af6ab5fSopenharmony_ci ir/ts/tsEnumDeclaration.cpp 3563af6ab5fSopenharmony_ci ir/ts/tsEnumMember.cpp 3573af6ab5fSopenharmony_ci ir/ts/tsExternalModuleReference.cpp 3583af6ab5fSopenharmony_ci ir/ts/tsFunctionType.cpp 3593af6ab5fSopenharmony_ci ir/ts/tsImportEqualsDeclaration.cpp 3603af6ab5fSopenharmony_ci ir/ts/tsImportType.cpp 3613af6ab5fSopenharmony_ci ir/ts/tsIndexedAccessType.cpp 3623af6ab5fSopenharmony_ci ir/ts/tsInferType.cpp 3633af6ab5fSopenharmony_ci ir/ts/tsInterfaceBody.cpp 3643af6ab5fSopenharmony_ci ir/ts/tsInterfaceDeclaration.cpp 3653af6ab5fSopenharmony_ci ir/ts/tsInterfaceHeritage.cpp 3663af6ab5fSopenharmony_ci ir/ts/tsIntersectionType.cpp 3673af6ab5fSopenharmony_ci ir/ts/tsLiteralType.cpp 3683af6ab5fSopenharmony_ci ir/ts/tsMappedType.cpp 3693af6ab5fSopenharmony_ci ir/ts/tsModuleBlock.cpp 3703af6ab5fSopenharmony_ci ir/ts/tsModuleDeclaration.cpp 3713af6ab5fSopenharmony_ci ir/ts/tsNamedTupleMember.cpp 3723af6ab5fSopenharmony_ci ir/ts/tsNeverKeyword.cpp 3733af6ab5fSopenharmony_ci ir/ts/tsNonNullExpression.cpp 3743af6ab5fSopenharmony_ci ir/ts/tsNullKeyword.cpp 3753af6ab5fSopenharmony_ci ir/ts/tsNumberKeyword.cpp 3763af6ab5fSopenharmony_ci ir/ts/tsObjectKeyword.cpp 3773af6ab5fSopenharmony_ci ir/ts/tsParameterProperty.cpp 3783af6ab5fSopenharmony_ci ir/ts/tsParenthesizedType.cpp 3793af6ab5fSopenharmony_ci ir/ts/tsQualifiedName.cpp 3803af6ab5fSopenharmony_ci ir/ts/tsStringKeyword.cpp 3813af6ab5fSopenharmony_ci ir/ts/tsThisType.cpp 3823af6ab5fSopenharmony_ci ir/ts/tsTupleType.cpp 3833af6ab5fSopenharmony_ci ir/ts/tsTypeAliasDeclaration.cpp 3843af6ab5fSopenharmony_ci ir/ts/tsTypeAssertion.cpp 3853af6ab5fSopenharmony_ci ir/ts/tsTypeLiteral.cpp 3863af6ab5fSopenharmony_ci ir/ts/tsTypeOperator.cpp 3873af6ab5fSopenharmony_ci ir/ts/tsTypeParameter.cpp 3883af6ab5fSopenharmony_ci ir/ts/tsTypeParameterDeclaration.cpp 3893af6ab5fSopenharmony_ci ir/ts/tsTypeParameterInstantiation.cpp 3903af6ab5fSopenharmony_ci ir/ts/tsTypePredicate.cpp 3913af6ab5fSopenharmony_ci ir/ts/tsTypeQuery.cpp 3923af6ab5fSopenharmony_ci ir/ts/tsTypeReference.cpp 3933af6ab5fSopenharmony_ci ir/ts/tsUndefinedKeyword.cpp 3943af6ab5fSopenharmony_ci ir/ts/tsUnionType.cpp 3953af6ab5fSopenharmony_ci ir/ts/tsUnknownKeyword.cpp 3963af6ab5fSopenharmony_ci ir/ts/tsVoidKeyword.cpp 3973af6ab5fSopenharmony_ci lexer/ASLexer.cpp 3983af6ab5fSopenharmony_ci lexer/keywords.cpp 3993af6ab5fSopenharmony_ci lexer/keywordsUtil.cpp 4003af6ab5fSopenharmony_ci lexer/lexer.cpp 4013af6ab5fSopenharmony_ci lexer/ETSLexer.cpp 4023af6ab5fSopenharmony_ci lexer/TSLexer.cpp 4033af6ab5fSopenharmony_ci lexer/regexp/regexp.cpp 4043af6ab5fSopenharmony_ci lexer/token/number.cpp 4053af6ab5fSopenharmony_ci lexer/token/sourceLocation.cpp 4063af6ab5fSopenharmony_ci lexer/token/token.cpp 4073af6ab5fSopenharmony_ci parser/context/classPrivateContext.cpp 4083af6ab5fSopenharmony_ci parser/context/parserContext.cpp 4093af6ab5fSopenharmony_ci parser/expressionParser.cpp 4103af6ab5fSopenharmony_ci parser/expressionTSParser.cpp 4113af6ab5fSopenharmony_ci parser/ASparser.cpp 4123af6ab5fSopenharmony_ci parser/JSparser.cpp 4133af6ab5fSopenharmony_ci parser/parserImpl.cpp 4143af6ab5fSopenharmony_ci parser/ETSFormattedParser.cpp 4153af6ab5fSopenharmony_ci parser/ETSparser.cpp 4163af6ab5fSopenharmony_ci parser/ETSparserClasses.cpp 4173af6ab5fSopenharmony_ci parser/ETSparserEnums.cpp 4183af6ab5fSopenharmony_ci parser/ETSparserExpressions.cpp 4193af6ab5fSopenharmony_ci parser/ETSparserNamespaces.cpp 4203af6ab5fSopenharmony_ci parser/ETSparserStatements.cpp 4213af6ab5fSopenharmony_ci parser/ETSparserTypes.cpp 4223af6ab5fSopenharmony_ci parser/ETSNolintParser.cpp 4233af6ab5fSopenharmony_ci parser/TSparser.cpp 4243af6ab5fSopenharmony_ci parser/TypedParser.cpp 4253af6ab5fSopenharmony_ci parser/program/entityNameVisitor.cpp 4263af6ab5fSopenharmony_ci parser/program/program.cpp 4273af6ab5fSopenharmony_ci parser/statementParser.cpp 4283af6ab5fSopenharmony_ci parser/statementTSParser.cpp 4293af6ab5fSopenharmony_ci checker/checker.cpp 4303af6ab5fSopenharmony_ci checker/checkerContext.cpp 4313af6ab5fSopenharmony_ci checker/ETSAnalyzer.cpp 4323af6ab5fSopenharmony_ci checker/ETSAnalyzerHelpers.cpp 4333af6ab5fSopenharmony_ci checker/ETSAnalyzerUnreachable.cpp 4343af6ab5fSopenharmony_ci checker/ETSchecker.cpp 4353af6ab5fSopenharmony_ci checker/TSchecker.cpp 4363af6ab5fSopenharmony_ci checker/ASchecker.cpp 4373af6ab5fSopenharmony_ci checker/TSAnalyzer.cpp 4383af6ab5fSopenharmony_ci checker/TSAnalyzerUnreachable.cpp 4393af6ab5fSopenharmony_ci checker/JSchecker.cpp 4403af6ab5fSopenharmony_ci checker/typeChecker/TypeChecker.cpp 4413af6ab5fSopenharmony_ci checker/ets/aliveAnalyzer.cpp 4423af6ab5fSopenharmony_ci checker/ets/etsWarningAnalyzer.cpp 4433af6ab5fSopenharmony_ci checker/ets/arithmetic.cpp 4443af6ab5fSopenharmony_ci checker/ets/assignAnalyzer.cpp 4453af6ab5fSopenharmony_ci checker/ets/baseAnalyzer.cpp 4463af6ab5fSopenharmony_ci checker/ets/boxingConverter.cpp 4473af6ab5fSopenharmony_ci checker/ets/castingContext.cpp 4483af6ab5fSopenharmony_ci checker/ets/conversion.cpp 4493af6ab5fSopenharmony_ci checker/ets/dynamic.cpp 4503af6ab5fSopenharmony_ci checker/ets/dynamic/dynamicCall.cpp 4513af6ab5fSopenharmony_ci checker/ets/function.cpp 4523af6ab5fSopenharmony_ci checker/ets/validateHelpers.cpp 4533af6ab5fSopenharmony_ci checker/ets/typeCheckingHelpers.cpp 4543af6ab5fSopenharmony_ci checker/ets/helpers.cpp 4553af6ab5fSopenharmony_ci checker/ets/narrowingConverter.cpp 4563af6ab5fSopenharmony_ci checker/ets/narrowingWideningConverter.cpp 4573af6ab5fSopenharmony_ci checker/ets/object.cpp 4583af6ab5fSopenharmony_ci checker/ets/primitiveWrappers.cpp 4593af6ab5fSopenharmony_ci checker/ets/typeConverter.cpp 4603af6ab5fSopenharmony_ci checker/ets/typeCreation.cpp 4613af6ab5fSopenharmony_ci checker/ets/typeRelationContext.cpp 4623af6ab5fSopenharmony_ci checker/ets/unboxingConverter.cpp 4633af6ab5fSopenharmony_ci checker/ets/utilityTypeHandlers.cpp 4643af6ab5fSopenharmony_ci checker/ets/wideningConverter.cpp 4653af6ab5fSopenharmony_ci checker/ts/binaryLikeExpression.cpp 4663af6ab5fSopenharmony_ci checker/ts/destructuringContext.cpp 4673af6ab5fSopenharmony_ci checker/ts/function.cpp 4683af6ab5fSopenharmony_ci checker/ts/helpers.cpp 4693af6ab5fSopenharmony_ci checker/ts/object.cpp 4703af6ab5fSopenharmony_ci checker/ts/typeCreation.cpp 4713af6ab5fSopenharmony_ci checker/ts/typeElaborationContext.cpp 4723af6ab5fSopenharmony_ci checker/ts/util.cpp 4733af6ab5fSopenharmony_ci checker/types/signature.cpp 4743af6ab5fSopenharmony_ci checker/types/type.cpp 4753af6ab5fSopenharmony_ci checker/types/typeRelation.cpp 4763af6ab5fSopenharmony_ci checker/types/globalTypesHolder.cpp 4773af6ab5fSopenharmony_ci checker/types/ets/byteType.cpp 4783af6ab5fSopenharmony_ci checker/types/ets/charType.cpp 4793af6ab5fSopenharmony_ci checker/types/ets/doubleType.cpp 4803af6ab5fSopenharmony_ci checker/types/ets/floatType.cpp 4813af6ab5fSopenharmony_ci checker/types/ets/intType.cpp 4823af6ab5fSopenharmony_ci checker/types/ets/longType.cpp 4833af6ab5fSopenharmony_ci checker/types/ets/shortType.cpp 4843af6ab5fSopenharmony_ci checker/types/ets/etsArrayType.cpp 4853af6ab5fSopenharmony_ci checker/types/ets/etsBooleanType.cpp 4863af6ab5fSopenharmony_ci checker/types/ets/etsDynamicType.cpp 4873af6ab5fSopenharmony_ci checker/types/ets/etsEnumType.cpp 4883af6ab5fSopenharmony_ci checker/types/ets/etsExtensionFuncHelperType.cpp 4893af6ab5fSopenharmony_ci checker/types/ets/etsFunctionType.cpp 4903af6ab5fSopenharmony_ci checker/types/ets/etsNonNullishType.cpp 4913af6ab5fSopenharmony_ci checker/types/ets/etsReadonlyType.cpp 4923af6ab5fSopenharmony_ci checker/types/ets/etsNullishTypes.cpp 4933af6ab5fSopenharmony_ci checker/types/ets/etsObjectType.cpp 4943af6ab5fSopenharmony_ci checker/types/ets/etsStringType.cpp 4953af6ab5fSopenharmony_ci checker/types/ets/etsBigIntType.cpp 4963af6ab5fSopenharmony_ci checker/types/ets/etsTupleType.cpp 4973af6ab5fSopenharmony_ci checker/types/ets/etsTypeParameter.cpp 4983af6ab5fSopenharmony_ci checker/types/ets/etsUnionType.cpp 4993af6ab5fSopenharmony_ci checker/types/ets/etsVoidType.cpp 5003af6ab5fSopenharmony_ci checker/types/ets/wildcardType.cpp 5013af6ab5fSopenharmony_ci checker/types/ets/etsAsyncFuncReturnType.cpp 5023af6ab5fSopenharmony_ci checker/types/ts/anyType.cpp 5033af6ab5fSopenharmony_ci checker/types/ts/arrayType.cpp 5043af6ab5fSopenharmony_ci checker/types/ts/bigintLiteralType.cpp 5053af6ab5fSopenharmony_ci checker/types/ts/bigintType.cpp 5063af6ab5fSopenharmony_ci checker/types/ts/booleanLiteralType.cpp 5073af6ab5fSopenharmony_ci checker/types/ts/booleanType.cpp 5083af6ab5fSopenharmony_ci checker/types/ts/constructorType.cpp 5093af6ab5fSopenharmony_ci checker/types/ts/enumLiteralType.cpp 5103af6ab5fSopenharmony_ci checker/types/ts/enumType.cpp 5113af6ab5fSopenharmony_ci checker/types/ts/functionType.cpp 5123af6ab5fSopenharmony_ci checker/types/ts/indexInfo.cpp 5133af6ab5fSopenharmony_ci checker/types/ts/interfaceType.cpp 5143af6ab5fSopenharmony_ci checker/types/ts/neverType.cpp 5153af6ab5fSopenharmony_ci checker/types/ts/nonPrimitiveType.cpp 5163af6ab5fSopenharmony_ci checker/types/ts/nullType.cpp 5173af6ab5fSopenharmony_ci checker/types/ts/numberLiteralType.cpp 5183af6ab5fSopenharmony_ci checker/types/ts/numberType.cpp 5193af6ab5fSopenharmony_ci checker/types/ts/objectDescriptor.cpp 5203af6ab5fSopenharmony_ci checker/types/ts/objectLiteralType.cpp 5213af6ab5fSopenharmony_ci checker/types/ts/objectType.cpp 5223af6ab5fSopenharmony_ci checker/types/ts/stringLiteralType.cpp 5233af6ab5fSopenharmony_ci checker/types/ts/stringType.cpp 5243af6ab5fSopenharmony_ci checker/types/ts/tupleType.cpp 5253af6ab5fSopenharmony_ci checker/types/ts/typeParameter.cpp 5263af6ab5fSopenharmony_ci checker/types/ts/typeReference.cpp 5273af6ab5fSopenharmony_ci checker/types/ts/undefinedType.cpp 5283af6ab5fSopenharmony_ci checker/types/ts/unionType.cpp 5293af6ab5fSopenharmony_ci checker/types/ts/unknownType.cpp 5303af6ab5fSopenharmony_ci checker/types/ts/voidType.cpp 5313af6ab5fSopenharmony_ci util/arktsconfig.cpp 5323af6ab5fSopenharmony_ci util/bitset.cpp 5333af6ab5fSopenharmony_ci util/errorHandler.cpp 5343af6ab5fSopenharmony_ci util/errorLogger.cpp 5353af6ab5fSopenharmony_ci util/helpers.cpp 5363af6ab5fSopenharmony_ci util/importPathManager.cpp 5373af6ab5fSopenharmony_ci util/path.cpp 5383af6ab5fSopenharmony_ci util/ustring.cpp 5393af6ab5fSopenharmony_ci test/utils/panda_executable_path_getter.cpp 5403af6ab5fSopenharmony_ci evaluate/debugInfoDeserialization/debugInfoDeserializer.cpp 5413af6ab5fSopenharmony_ci evaluate/debugInfoDeserialization/inheritanceResolution.cpp 5423af6ab5fSopenharmony_ci evaluate/debugInfoDeserialization/methodBuilder.cpp 5433af6ab5fSopenharmony_ci evaluate/debugInfoDeserialization/classBuilder.cpp 5443af6ab5fSopenharmony_ci evaluate/debugInfoStorage.cpp 5453af6ab5fSopenharmony_ci evaluate/helpers.cpp 5463af6ab5fSopenharmony_ci evaluate/pathResolver.cpp 5473af6ab5fSopenharmony_ci evaluate/irCheckHelper.cpp 5483af6ab5fSopenharmony_ci evaluate/proxyProgramsCache.cpp 5493af6ab5fSopenharmony_ci evaluate/scopedDebugInfoPlugin.cpp 5503af6ab5fSopenharmony_ci evaluate/entityDeclarator.cpp 5513af6ab5fSopenharmony_ci evaluate/evaluateContext.cpp 5523af6ab5fSopenharmony_ci) 5533af6ab5fSopenharmony_ci 5543af6ab5fSopenharmony_ci# libes2panda does not include bytecode optimizer, because it is used in 5553af6ab5fSopenharmony_ci# libarkruntime, and conflict with JIT setup ensues 5563af6ab5fSopenharmony_cipanda_add_library(es2panda-lib ${PANDA_DEFAULT_LIB_TYPE} ${ES2PANDA_LIB_SRC}) 5573af6ab5fSopenharmony_ciadd_dependencies(es2panda-lib isa_gen_es2panda es2panda_keywords es2panda_signatures) 5583af6ab5fSopenharmony_ci 5593af6ab5fSopenharmony_ciset(ICU_INCLUDE_DIRS 5603af6ab5fSopenharmony_ci ${PANDA_THIRD_PARTY_SOURCES_DIR}/icu/icu4c/source/common 5613af6ab5fSopenharmony_ci ${PANDA_THIRD_PARTY_SOURCES_DIR}/icu/icu4c/source/i18n 5623af6ab5fSopenharmony_ci ${PANDA_THIRD_PARTY_SOURCES_DIR}/icu/icu4c/source 5633af6ab5fSopenharmony_ci) 5643af6ab5fSopenharmony_ci 5653af6ab5fSopenharmony_cipanda_target_include_directories(es2panda-lib SYSTEM 5663af6ab5fSopenharmony_ci PRIVATE ${ICU_INCLUDE_DIRS} 5673af6ab5fSopenharmony_ci) 5683af6ab5fSopenharmony_ci 5693af6ab5fSopenharmony_cipanda_target_include_directories(es2panda-lib 5703af6ab5fSopenharmony_ci PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} 5713af6ab5fSopenharmony_ci PRIVATE ${OUTPUT_DIR} 5723af6ab5fSopenharmony_ci) 5733af6ab5fSopenharmony_ci 5743af6ab5fSopenharmony_cipanda_target_compile_options(es2panda-lib 5753af6ab5fSopenharmony_ci PRIVATE -fexceptions -Werror=shadow 5763af6ab5fSopenharmony_ci) 5773af6ab5fSopenharmony_ci 5783af6ab5fSopenharmony_cipanda_target_link_libraries(es2panda-lib 5793af6ab5fSopenharmony_ci PUBLIC arkbase hmicuuc.z 5803af6ab5fSopenharmony_ci PRIVATE arkassembler arkdisassembler arkfile 5813af6ab5fSopenharmony_ci) 5823af6ab5fSopenharmony_ci 5833af6ab5fSopenharmony_ciif((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.1) OR 5843af6ab5fSopenharmony_ci (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)) 5853af6ab5fSopenharmony_ci panda_target_link_libraries(es2panda-lib 5863af6ab5fSopenharmony_ci PUBLIC stdc++fs 5873af6ab5fSopenharmony_ci ) 5883af6ab5fSopenharmony_ciendif() 5893af6ab5fSopenharmony_ci 5903af6ab5fSopenharmony_ciif (PANDA_FUZZILLI) 5913af6ab5fSopenharmony_ci panda_target_compile_options(es2panda-lib 5923af6ab5fSopenharmony_ci PRIVATE -fPIC 5933af6ab5fSopenharmony_ci ) 5943af6ab5fSopenharmony_ciendif() 5953af6ab5fSopenharmony_cipanda_add_sanitizers(TARGET es2panda-lib SANITIZERS 5963af6ab5fSopenharmony_ci ${PANDA_SANITIZERS_LIST}) 5973af6ab5fSopenharmony_ci 5983af6ab5fSopenharmony_ciSET(ES2PANDA_LIB_DIR public) 5993af6ab5fSopenharmony_ciadd_subdirectory(${ES2PANDA_LIB_DIR}) 6003af6ab5fSopenharmony_ci 6013af6ab5fSopenharmony_ciadd_subdirectory(aot) 6023af6ab5fSopenharmony_ciadd_subdirectory(declgen_ets2ts) 6033af6ab5fSopenharmony_ci 6043af6ab5fSopenharmony_ciif(PANDA_WITH_TESTS) 6053af6ab5fSopenharmony_ci add_subdirectory(test) 6063af6ab5fSopenharmony_ciendif() 607