1 # Copyright (c) 2021-2022 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 14 set(DISASM_PLUGINS_INC ${PANDA_BINARY_ROOT}/disassembler/disasm_plugins.inc) 15 panda_gen_file( 16 DATAFILE ${GEN_PLUGIN_OPTIONS_YAML} 17 TEMPLATE ${PANDA_ROOT}/disassembler/templates/disasm_plugins.inc.erb 18 REQUIRES ${PANDA_ROOT}/templates/plugin_options.rb 19 EXTRA_DEPENDENCIES plugin_options_merge 20 OUTPUTFILE ${DISASM_PLUGINS_INC} 21 ) 22 23 set(GET_LANGUAGE_SPECIFIC_METADATA_INC ${PANDA_BINARY_ROOT}/disassembler/get_language_specific_metadata.inc) 24 panda_gen_file( 25 DATAFILE ${GEN_PLUGIN_OPTIONS_YAML} 26 TEMPLATE ${PANDA_ROOT}/disassembler/templates/get_language_specific_metadata.inc.erb 27 REQUIRES ${PANDA_ROOT}/templates/plugin_options.rb 28 EXTRA_DEPENDENCIES plugin_options_merge 29 OUTPUTFILE ${GET_LANGUAGE_SPECIFIC_METADATA_INC} 30 ) 31 32 33 add_custom_target(arkdisassembler_plugin_gen DEPENDS 34 plugin_options_gen 35 ${DISASM_PLUGINS_INC} 36 ${GET_LANGUAGE_SPECIFIC_METADATA_INC} 37 ) 38 39 add_dependencies(arkdisassembler arkdisassembler_plugin_gen) 40