1# Copyright (c) 2021-2024 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14set(PLUGINS_DEFINES_H ${PANDA_BINARY_ROOT}/runtime/asm_defines/plugins_defines.h) 15panda_gen_file( 16 DATA ${GEN_PLUGIN_OPTIONS_YAML} 17 TEMPLATE ${PANDA_ROOT}/runtime/templates/plugins_defines.h.erb 18 API ${PANDA_ROOT}/templates/plugin_options.rb 19 EXTRA_DEPENDENCIES plugin_options_merge 20 OUTPUTFILE ${PLUGINS_DEFINES_H} 21) 22 23set(PLUGINS_ASM_DEFINES_DEF ${PANDA_BINARY_ROOT}/runtime/asm_defines/plugins_asm_defines.def) 24panda_gen_file( 25 DATA ${GEN_PLUGIN_OPTIONS_YAML} 26 TEMPLATE ${PANDA_ROOT}/runtime/templates/plugins_asm_defines.def.erb 27 API ${PANDA_ROOT}/templates/plugin_options.rb 28 EXTRA_DEPENDENCIES plugin_options_merge 29 OUTPUTFILE ${PLUGINS_ASM_DEFINES_DEF} 30) 31 32add_custom_target(plugins_defines_h DEPENDS 33 plugin_options_gen 34 ${PLUGINS_DEFINES_H} 35 arkruntime_obj_options 36 messages_gen_pandaverification_messages 37 ir_dyn_base_types_h 38 source_languages_h 39) 40 41add_custom_target(plugins_asm_defines_def DEPENDS 42 plugin_options_gen 43 ${PLUGINS_ASM_DEFINES_DEF} 44) 45 46add_dependencies(panda_gen_files 47 plugins_defines_h 48 plugins_asm_defines_def 49) 50 51add_dependencies(asm_defines_process plugins_asm_defines_def) 52 53panda_target_include_directories(asm_defines 54 PUBLIC ${PANDA_BINARY_ROOT} 55 PUBLIC ${PANDA_BINARY_ROOT}/runtime/asm_defines 56 PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/panda_gen_options 57 PUBLIC ${PANDA_BINARY_ROOT}/compiler/generated 58) 59