皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Qbs 1.21 发布

Qbs 1.21 发布

QBS构建工具版本1.21.0是可用的。

Qbs 是一个社区驱动的与语言无关的构建自动化系统。它速度很快,并提供了一种基于 QML 的易于学习的语言。

什么是新的

自 1.20.0 版以来,已有超过 100 项贡献进入此版本。我们在下面选择了一些项目。如果您对更多细节感兴趣,请查看完整的变更日志

命名模块提供者

我们重新设计了模块提供程序功能。以前,当 Qbs 遇到缺少的模块(例如,Qt.core)时,它会根据模块名称搜索可以生成该模块的提供程序——Qbs 连续搜索名为“Qt.core”、“Qt”的提供程序,直到找到一。这限制了使用提供者的方式——最终,对于一个给定的框架,如
Qt 或 Boost,不可能有多个提供者。因此,我们向ProductProject 项引入了新qbsModuleProviders属性,它允许指定运行哪些提供程序。例如,要在您的产品中显式调用Qt 提供程序 ,您可以执行以下操作:

CppApplication { 
    Depends { name: "Qt.core" } 
    files: "main.cpp" 
    qbsModuleProviders: ["Qt"] 
}

也可以对不同模块提供者生成的模块进行优先级排序——提供者按照指定的顺序对搜索路径做出贡献qbsModuleProviders
在下面的示例中,Qt.core 模块可以来自“Qt”提供程序和
“qbspkgconfig”提供程序(见下文),但由“Qt”提供程序生成的模块具有更高的优先级,因为它
在列表中排在第一位. 如果您想使用自定义 Qt 安装(Qt
提供程序将尝试在 中定位 qmake PATH)但也有一个由pkg-config.

CppApplication { 
    Depends { name: "Qt.core" }
    files: "main.cpp" 
    qbsModuleProviders: ["Qt", "qbspkgconfig"] 
}

我们计划在未来添加更多的提供商,例如 VCPKG 或 Conan。

qbspkgconfig 提供程序

最初,如果搜索到的模块不是由任何其他提供程序生成的,Qbs 会使用基于该工具的“后备”提供 pkg-config程序。后备提供程序存在几个问题:

  • 它总是尝试使用 生成模块pkg-config,即使对于非 C++ 项目也是如此。
  • 它不能正确支持名称中包含特殊字符的包,例如“python-3.9”中的点。
  • pkg-config由于该工具的 CLI 的限制,回退提供程序在每个模块中调用了多次,这可能导致在项目中使用多个包时性能不佳。

因此,我们添加了新的qbspkgconfig 提供程序,它使用内部 C++ 库来读取 .pc 文件。这使 Qbs 可以访问有关pkg-config包之间的依赖关系的信息(不能通过 CLI 获得),从而允许它生成具有各自依赖关系的模块。此外,它的工作速度更快,因为我们现在避免了该pkg-config过程的昂贵分叉。
新的提供者和底层库pkg-config尽可能多地模仿我们认为必要的工具行为。如果您发现有问题的不兼容性,请随时提交错误报告。

一般的

  • capnprotoprotobuf模块现在可以使用新的运行时提供的qbspkgconfig供应商。
  • Qbs 不再从以前版本 ( QTCREATORBUG-26475 )的设置中迁移配置文件/目录,因为这仅在模块前提供者时代是必需的。
  • 我们修复了 FreeBSD 上的一个问题,即 Qbs 无法正确跟踪源文件中的更改,因为它使用了低精度文件时间(不包括毫秒)。现在 Qbs 总是在所有系统上使用高精度的文件时间。如果您使用非主流 UNIX 主机并遇到问题,请提交错误报告。
  • 添加了一个新的ConanfileProbe.verbose属性,可用于调试柯南问题。

C/C++ 支持

  • 添加了对 C++23 的支持。
  • 为 GCC 工具链 ( QBS-1675 )添加了 Elbrus E2K 架构。

安卓支持

  • 添加了一个新的Android.ndk.buildId 属性,它允许覆盖链接器标志的默认值 ( sha1--build-id

试试看

Qbs 可在下载页面下载

请在我们的错误跟踪器中报告问题。

加入我们的Discord 服务器进行实时讨论。

您可以使用我们的邮件列表进行提问和讨论。

文档维基也是上手的好地方。

Qbs 也可从许多软件包存储库(ChocolateyMacPortsHomebrew)中获得,并由 Qbs 开发团队在每个版本中更新。它还可以通过许多 Linux 发行版上的本机包管理系统进行安装。请在repology.org上找到完整的概述。

Qbs 1.21.0 也包含在 Qt Creator 6.0.0 中。

贡献

如果您是 Qbs 的快乐用户,请告诉其他人。但也许你想贡献一些东西。一切使 Qbs 变得更好的东西都受到高度赞赏。贡献可能包括报告错误或立即修复它们。但也非常欢迎新功能。我们的 CI 机器人将在 Linux、macOS 和 Windows 上自动检查、构建和验证您的补丁程序。
开始使用Qbs Wiki 中的说明
感谢所有制作 1.20 版本的人:

  • 克里斯蒂安·坎德勒
  • 克里斯蒂安·斯坦格
  • 大卫·佩萨文托
  • 丹尼斯·希恩科夫
  • 伊万·科米萨罗夫
  • 凯多门
  • 奥尔加德·沙内
  • 拉斐尔·科蒂
  • 理查德·威克尔特
  • 托尔比约恩·林德耶

转自 https://www.qt.io/blog/qbs-1.21-released