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