13af6ab5fSopenharmony_ci# Copyright (c) 2021-2022 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_ciset(ES2PANDA_AOT_SRC
153af6ab5fSopenharmony_ci  options.cpp
163af6ab5fSopenharmony_ci  main.cpp
173af6ab5fSopenharmony_ci)
183af6ab5fSopenharmony_ci
193af6ab5fSopenharmony_cipanda_add_executable(es2panda ${ES2PANDA_AOT_SRC})
203af6ab5fSopenharmony_citarget_link_libraries(es2panda es2panda-lib arkassembler arkbytecodeopt)
213af6ab5fSopenharmony_citarget_include_directories(es2panda PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
223af6ab5fSopenharmony_ci
233af6ab5fSopenharmony_ciif (PANDA_FUZZILLI)
243af6ab5fSopenharmony_ci    target_compile_options(es2panda
253af6ab5fSopenharmony_ci        PRIVATE -fPIC
263af6ab5fSopenharmony_ci    )
273af6ab5fSopenharmony_ciendif()
283af6ab5fSopenharmony_ci
293af6ab5fSopenharmony_citarget_compile_options(es2panda
303af6ab5fSopenharmony_ci  PRIVATE -Werror=shadow
313af6ab5fSopenharmony_ci)
323af6ab5fSopenharmony_ci
333af6ab5fSopenharmony_cipanda_add_sanitizers(TARGET es2panda SANITIZERS ${PANDA_SANITIZERS_LIST})
343af6ab5fSopenharmony_cipanda_add_to_clang_tidy(TARGET es2panda CHECKS
353af6ab5fSopenharmony_ci    "-modernize-use-trailing-return-type"
363af6ab5fSopenharmony_ci    "-llvmlibc-restrict-system-libc-headers"
373af6ab5fSopenharmony_ci    "-llvmlibc-callee-namespace"
383af6ab5fSopenharmony_ci    "-cert-dcl21-cpp"
393af6ab5fSopenharmony_ci    "-cppcoreguidelines-macro-usage"
403af6ab5fSopenharmony_ci    "-cppcoreguidelines-pro-bounds-pointer-arithmetic"
413af6ab5fSopenharmony_ci    "-fuchsia-default-arguments-calls"
423af6ab5fSopenharmony_ci    "-fuchsia-default-arguments-declarations"
433af6ab5fSopenharmony_ci    "-readability-implicit-bool-conversion"
443af6ab5fSopenharmony_ci    "-misc-non-private-member-variables-in-classes"
453af6ab5fSopenharmony_ci    "-hicpp-signed-bitwise"
463af6ab5fSopenharmony_ci    "-altera-struct-pack-align"
473af6ab5fSopenharmony_ci)
48