关于cmake:构建plasma-desktop失败,因为没有安装KDE-Frameworks的开发版本

Building plasma-desktop fails because the development release of KDE-Frameworks isn't installed

概括

我正在尝试对作为 Plasma-desktop 一部分的 KCM(确切地说是应用程序样式)进行更改,所以显然我需要构建它。
但是,在尝试这样做时,它抱怨当我只有 5.56 时需要额外的 cmake-modules (ECM) 5.57。
很公平,我下载了当前的 cmake repo 并安装了它。现在编译器抱怨我的 KDE 框架也不是"最新的"。
如果我理解正确,5.56 是最新的稳定版本,而 5.57 还不是那个时候,这就是为什么它不在 Arch Linux 存储库中,但 KDE 的开发版本需要依赖它。我不想安装那个。
这个问题在其他发行版上可能更严重,我记得尝试在 Fedora 上构建一些 KDE 应用程序,但由于 KF5 版本更旧而失败。

实际问题

  • 如何在不将它们安装到系统本身的情况下安装构建所需的依赖项?

  • 当我只关心一个小 KCM 时,我什至需要构建整个等离子桌面吗?


您面临的问题是您正在构建开发版本(master 分支)。在这种情况下,您还需要来自 master 分支的完整 KF5 构建环境。这仅推荐给有经验的开发人员。

如果您安装了较旧版本的 Qt5 和/或 KF5,您只能构建较旧的分支。 plasma-desktop.git 存储库的示例:

  • Plasma/5.15 分支需要 KF 5.54.0 和 Qt 5.11.0
  • Plasma/5.12 分支 (LTS) 需要 KF 5.42.0 和 Qt 5.9.0

要获取分支的源代码,请在克隆的 git 文件夹中使用 git checkout Branchname。或者,您可以从 https://download.kde.org/stable/plasma/

下载旧的源代码版本作为 *.tar.xz 文件

现在回答你的问题:

  • 如果您真的想要构建开发版本,并且想要避免构建 KF5 依赖项的不稳定版本,那么一些发行版已经提供了额外的存储库或 PPA 与不稳定的 KF5 开发版本。我建议在您的发行版论坛中询问如何找到这些。对于 KDE neon,存在 KDE neon Developer Edition。

  • 不需要构建完整的包。您需要为软件包配置(使用 cmake OPTIONS)完整的构建系统,然后您可以将 cd kcms/style 放入子文件夹,并仅在其中运行 makemake install