qt_ifcodegen_extend_target
通过从 qface IDL 文件生成的文件扩展目标。
此命令在 Qt6 包的 InterfaceFramework 组件中定义。
使用以下命令加载软件包:
find_package(Qt6 REQUIRED COMPONENTS InterfaceFramework)
概述
qt_ifcodegen_extend_target(
target
IDL_FILES idl_files
TEMPLATE template
[ANNOTATION_FILES ...]
[IMPORT_PATH ...]
[OUTPUT_DIR output_dir]
[EXTRA_HEADERS_OUTPUT_DIR extra_headers_output_dir]
[EXTRA_TEMPLATE_SEARCH_PATH ...]
[PREFIX prefix]
[VERBOSE]
[NO_GENERATE]
)如果禁用了 无版本命令,则使用 qt6_ifcodegen_extend_target() 代替。它支持与此命令相同的参数集。
描述
通过调用 ifcodegen,通过 qface IDL 文件生成的文件扩展 目标。如何扩展 目标 由模板和生成的 CMake 文件定义。
使用 IDL_FILES 指定输入 IDL 文件,而 TEMPLATE 指定用于生成的 ifcodegen 模板。提供的模板可以是模板文件夹的路径,也可以是位于模板搜索路径中的模板的名称。使用 EXTRA_TEMPLATE_SEARCH_PATH 参数,可以扩展搜索路径。如果您想为代码生成使用自己的模板,这特别有用。作为函数参数的替代方案,可以使用全局 CMake 变量 QT_IFCODEGEN_TEMPLATE_SEARCH_PATH 指定所有 ifcodegen 函数调用额外搜索路径。
通过 ANNOTATION_FILES 参数传递额外的标注文件。
可以使用 IMPORT_PATH 将依赖此 IDL 文件的 IDL 文件的搜索路径添加到其中。其他 IDL 文件仍然需要独立生成和构建。
OUTPUT_DIR 指定生成文件要写入的目录,默认为 CMAKE_CURRENT_BINARY_DIR。
EXTRA_HEADER_OUTPUT_DIR 用于提供一个额外的目录,其中将复制所有生成的头文件。
默认情况下,所有由 ifcodegen 生成的日志消息都被丢弃。要显示它们,您可以使用 VERBOSE 参数,设置 IFCODEGEN_VERBOSE 变量,或者将 CMAKE_MESSAGE_LOG_LEVEL 设置为 VERBOSE。
有关生成器命令行参数的更多详细信息,请参阅 使用生成器。
可以使用 PREFIX 将此命令与 qt_ifcodegen_import_variables 结合使用,并使用 prefix 暴露所有变量。
使用 NO_GENERATE 可以跳过调用 ifcodegen。通常只在您确信文件已生成后才需要,例如在使用 qt_ifcodegen_generate 之前。
有关生成器命令行参数的更多详细信息,请参阅 使用生成器。
示例
find_package(Qt6 COMPONENTS InterfaceFramework)
qt6_add_library(AdressBook)
# Generate code and extend the AddressBook target
# with the generated files
qt6_ifcodegen_extend_target(AdressBook
IDL_FILES addressbook.qface
TEMPLATE frontend
)
target_link_libraries(AdressBook PUBLIC
Qt::Core
Qt::InterfaceFramework
Qt::InterfaceFrameworkPrivate
Qt::Qml
Qt::Quick
)© 2024 Qt公司有限公司。本文件中包含的文档贡献均为各自所有者的版权。提供的文档受自由软件基金会发布的《GNU自由文档许可证》第1.3版条款的许可。Qt及其相关标志是芬兰以及世界各地的Qt公司有限公司的商标。其他所有商标均为其各自所有者的财产。