qbs - 安装到特定目录

qbs - install to specific dir

我正在尝试修改 qbs 中的安装目录。我尝试了所有的可能性,我想到了。 我想安装到环境变量的位置... 但是 qbs 总是安装到它声明的目录中的子目录中(例如 qtc_Desktop__0e446cd2-debug) 我尝试了以下组合:

qbs.install: true
qbs.installDir: project.defaultLibInstallDir
qbs.installPrefix: project.defaultLibInstallPrefix
qbs.installRoot: project.defaultInstallRoot

我很喜欢qbs,但是不知道应该如何正确使用install。 我会很感激一个例子,安装到不同的系统路径是如何工作的(例如 /usr/local/bin/usr/local/include

更新:

DynamicLibrary {
    name: "software"
    files: ["src/*.cpp", "src/*.hpp"]

    Depends { name: "cpp" }

    Group {
        fileTagsFilter: product.type
        qbs.install: true
        qbs.installDir: "lib"
        qbs.installPrefix: "/home/userName/someDir"
    }
}

记录了 qbs 中的安装属性 here:

我还将给出每个示例以及您如何使用它的几个示例:

  • qbs.installDir:相对于qbs.installPrefix。在您的安装组中,这通常可能类似于 "bin" 或 "lib" 或 "share",具体取决于组正在安装的内容。

  • qbs.installPrefix:安装树的目标系统上的前缀。这可能类似于“/usr”或“/usr/local”。

  • qbs.installRoot:这是一个外部 属性,它被添加到您项目中的所有安装路径中。你不在你的项目中设置它,只在 qbs 命令行上。它默认位于构建目录中的临时位置。例如,如果您将 qbs.installPrefix 设置为“/usr”并且实际上希望您的文件树安装在那里,您可以将 qbs.installRoot 设置为“/”。否则,您的整个安装树都会在 qbs.installRoot 中扎根。例如,如果您使用 qbs 来构建 Debian 或 RPM 软件包,您可以将 qbs.installRoot 设置为构建过程使用的临时根目录的位置。