自定义模块和项目

Qbs 的用户不仅限于预定义的 模块项目,他们还可以创建自己的。在此,我们将描述如何设置自定义模块和项目,以便 Qbs 能够找到它们。

文件系统布局

项目和模块位于一个公共基础目录下,其名称和位置完全任意。我们将在此将其称为 search-path。此目录有两个子目录 modulesimports,分别包含 Qbs 模块和项目。

自定义模块

要引入自定义模块 mymodule,创建一个目录 search-path/modules/mymodule/

注意:模块名称是区分大小写的,相应的目录名也是如此。

然后,在该目录中放置包含 Module 实例的文件,并给它一个 .qbs 扩展名。如果有 product 声明了对 mymodule依赖,这个模块将会被引入。

自定义项目

要引入自定义项目 MyItem,创建文件 search-path/imports/MyItem.qbs

注意:由于类型名称只能以大写字母开头,因此项目文件名必须以大写字母开头。否则,该文件会被静默忽略。

使 Qbs 识别自定义模块和项目

要使用您自定义的模块和项目,您需要让 Qbs 知道它们。您可以按项目或全局方式完成此操作。

特定于项目的模块和项目

假设您有一个位于 project_dir 的项目,并且您在 project_dir/custom-stuff/modules/ 中创建了一些模块,在 project_dir/custom-stuff/imports/ 中创建了一些想要在项目中使用的项目。为了实现这一点,您的顶级项目文件应如下所示

// ...
Project {
    // ..
    qbsSearchPaths: "custom-stuff"
    // ..
}

注意:由于技术原因,自定义模块和项目不会在包含 Project.qbsSearchPaths 属性的文件中可用。任何想要利用它们的 product 都需要在不同的文件中声明,该文件通过 Project.references 属性拉入,例如。这并不是一个严重的限制,因为每个结构良好的项目都将以这种方式拆分。

在多个项目中提供自定义模块和项目

如果您的模块和项目很通用,并且您想在多个项目中访问它们,那么将位置添加到您的首选项中是最佳选择。例如

qbs config preferences.qbsSearchPaths /usr/local/share/custom-qbs-extensions

©2023 Qt股份有限公司。本文件中的文档贡献均为各自所有者的版权。提供的文档受到由自由软件基金会发布的GNU自由文档许可1.3版的条款约束。[查看GNU自由文档许可] Qt及其相关标志是芬兰以及世界各地的Qt股份有限公司的商标。所有其他商标均为其各自所有者的财产。