Skip to content
This repository has been archived by the owner on Dec 1, 2023. It is now read-only.

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
plfiorini committed Oct 15, 2018
2 parents 6f99d64 + 85c10bf commit dfffe1c
Show file tree
Hide file tree
Showing 14 changed files with 175 additions and 27 deletions.
7 changes: 7 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.tag export-subst
.gitignore export-ignore
.gitattributes export-ignore
.gitmodules export-ignore
.travis export-ignore
.travis.yml export-ignore
.mailmap export-ignore
1 change: 1 addition & 0 deletions .tag
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$Format:%H$
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Shared imports and modules for projects using the qbs build system.

## Dependencies

You need [qbs](http://doc.qt.io/qbs/index.html) >= 1.9.0 to build this project.
You need [qbs](http://doc.qt.io/qbs/index.html) >= 1.11.0 to build this project.

## Installation

Expand Down
28 changes: 28 additions & 0 deletions imports/LiriIndicator.qbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import qbs 1.0

Product {
property string shortName

name: "Indicator (" + shortName + ")"

Depends { name: "lirideployment" }
Depends { name: "LiriTranslations" }

Group {
qbs.install: shortName != undefined
qbs.installDir: lirideployment.dataDir + "/liri-shell/indicators/" + shortName
fileTagsFilter: "liri.desktop.file"
}

Group {
qbs.install: shortName != undefined
qbs.installDir: lirideployment.dataDir + "/liri-shell/indicators/" + shortName + "/contents"
fileTagsFilter: "liri.indicator.contents"
}

Group {
qbs.install: shortName != undefined
qbs.installDir: lirideployment.dataDir + "/liri-shell/indicators/" + shortName + "/translations"
fileTagsFilter: "qm"
}
}
4 changes: 0 additions & 4 deletions imports/LiriModuleProject.qbs
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,6 @@ Project {
if (cxxStandardLibrary)
content["cpp.cxxStandardLibrary"] = LiriUtils.quote(cxxStandardLibrary);

var cxxLanguageVersion = product.moduleProperty("cpp", "cxxLanguageVersion");
if (cxxLanguageVersion)
content["cpp.cxxLanguageVersion"] = LiriUtils.quote(cxxLanguageVersion);

var outputFile = new TextFile(output.filePath, TextFile.WriteOnly);
outputFile.writeLine("import qbs");
outputFile.writeLine("import LiriUtils");
Expand Down
32 changes: 32 additions & 0 deletions imports/LiriSettingsModule.qbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import qbs 1.0
import qbs.File
import qbs.TextFile

Product {
property string shortName

name: "Module (" + shortName + ")"

Depends { name: "lirideployment" }
Depends { name: "cpp" }
Depends { name: "Qt"; submodules: ["core", "qml", "quick"] }
Depends { name: "LiriTranslations" }

Group {
qbs.install: shortName != undefined
qbs.installDir: lirideployment.dataDir + "/liri-settings/modules/" + shortName
fileTagsFilter: "liri.desktop.file"
}

Group {
qbs.install: shortName != undefined
qbs.installDir: lirideployment.dataDir + "/liri-settings/modules/" + shortName
fileTagsFilter: "liri.settings.contents"
}

Group {
qbs.install: shortName != undefined
qbs.installDir: lirideployment.dataDir + "/liri-settings/translations/modules"
fileTagsFilter: "qm"
}
}
39 changes: 39 additions & 0 deletions imports/LiriSettingsModulePlugin.qbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import qbs 1.0
import qbs.File
import qbs.TextFile

LiriDynamicLibrary {
property string shortName
property string qmlModuleName

name: "Module (" + shortName + ")"
targetName: shortName + "plugin"

Depends { name: "lirideployment" }
Depends { name: "Qt"; submodules: ["core", "qml", "quick"] }
Depends { name: "LiriTranslations" }

Group {
qbs.install: shortName != undefined
qbs.installDir: lirideployment.dataDir + "/liri-settings/modules/" + shortName
fileTagsFilter: "liri.desktop.file"
}

Group {
qbs.install: shortName != undefined
qbs.installDir: lirideployment.dataDir + "/liri-settings/modules/" + shortName
fileTagsFilter: "liri.settings.contents"
}

Group {
qbs.install: qmlModuleName != undefined
qbs.installDir: lirideployment.qmlDir + "/Liri/Settings/" + qmlModuleName
fileTagsFilter: ["dynamiclibrary", "qml"]
}

Group {
qbs.install: shortName != undefined
qbs.installDir: lirideployment.dataDir + "/liri-settings/translations/modules"
fileTagsFilter: "qm"
}
}
8 changes: 6 additions & 2 deletions imports/LiriUtils/LiriUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,15 @@ function quote(stringValue) {
}

function stripSysroot(stringValue) {
return stringValue.replace(qbs.sysroot, "");
if (qbs.sysroot)
return stringValue.replace(qbs.sysroot, "");
return stringValue;
}

function prependSysroot(stringValue) {
return qbs.sysroot + stripSysroot(stringValue);
if (qbs.sysroot)
return qbs.sysroot + stripSysroot(stringValue);
return stringValue;
}

/* Performs a basic conversion from a JS Object to static QML, listing the key
Expand Down
20 changes: 20 additions & 0 deletions modules/KF5/KWaylandClient/KWaylandClient.qbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import qbs

Module {
readonly property bool found: probe.found

Depends { name: "cpp" }
Depends { name: "Qt"; submodules: ["core", "gui"] }
Depends { name: "Wayland"; submodules: ["client", "cursor"] }

cpp.includePaths: probe.includePaths
cpp.libraryPaths: probe.libraryPaths
cpp.dynamicLibraries: probe.libraries

LiriLibraryProbe {
id: probe
includePathSuffixes: ["include/KF5", "include/KF5/KWayland/Client"]
includeNames: ["kwayland_version.h", "kwaylandclient_export.h"]
libraryNames: ["libKF5WaylandClient.so"]
}
}
20 changes: 20 additions & 0 deletions modules/KF5/KWaylandServer/KWaylandServer.qbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import qbs

Module {
readonly property bool found: probe.found

Depends { name: "cpp" }
Depends { name: "Qt"; submodules: ["core", "gui"] }
Depends { name: "Wayland.server" }

cpp.includePaths: probe.includePaths
cpp.libraryPaths: probe.libraryPaths
cpp.dynamicLibraries: probe.libraries

LiriLibraryProbe {
id: probe
includePathSuffixes: ["include/KF5", "include/KF5/KWayland/Server"]
includeNames: ["kwayland_version.h", "kwaylandserver_export.h"]
libraryNames: ["libKF5WaylandServer.so"]
}
}
2 changes: 1 addition & 1 deletion modules/X11/x11/x11.qbs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import qbs
import qbs.Probes

Module {
property bool found: probe.found
readonly property bool found: probe.found

Depends { name: "cpp" }

Expand Down
2 changes: 1 addition & 1 deletion modules/XCB/xcb/xcb.qbs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import qbs
import qbs.Probes

Module {
property bool found: probe.found
readonly property bool found: probe.found

Depends { name: "cpp" }

Expand Down
32 changes: 16 additions & 16 deletions modules/lirideployment/lirideployment.qbs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Module {
property string infoDir: FileInfo.joinPaths(dataDir, "info")
property string etcDir: "/etc"
property string applicationsDir: FileInfo.joinPaths(dataDir, "applications")
property string appDataDir: FileInfo.joinPaths(dataDir, "appdata")
property string appDataDir: FileInfo.joinPaths(dataDir, "metainfo")
property string libDir: {
if (qbs.targetOS.contains("linux"))
return FileInfo.joinPaths(prefix, "lib");
Expand All @@ -44,30 +44,30 @@ Module {
setupRunEnvironment: {
var env = Environment.currentEnv();
env["PATH"] = PathTools.prependOrSetPath([
FileInfo.joinPaths(qbs.installRoot, qbs.installPrefix, binDir)
].join(qbs.pathListSeparator), env["PATH"], qbs.pathListSeparator);
FileInfo.joinPaths(product.qbs.installRoot, product.qbs.installPrefix, product.lirideployment.binDir)
].join(product.qbs.pathListSeparator), env["PATH"], product.qbs.pathListSeparator);
env["QT_PLUGIN_PATH"] = PathTools.prependOrSetPath([
FileInfo.joinPaths(qbs.installRoot, qbs.installPrefix, pluginsDir)
].join(qbs.pathListSeparator), env["QT_PLUGIN_PATH"], qbs.pathListSeparator);
FileInfo.joinPaths(product.qbs.installRoot, product.qbs.installPrefix, product.lirideployment.pluginsDir)
].join(product.qbs.pathListSeparator), env["QT_PLUGIN_PATH"], product.qbs.pathListSeparator);
env["QML2_IMPORT_PATH"] = PathTools.prependOrSetPath([
FileInfo.joinPaths(qbs.installRoot, qbs.installPrefix, qmlDir)
].join(qbs.pathListSeparator), env["QML2_IMPORT_PATH"], qbs.pathListSeparator);
FileInfo.joinPaths(product.qbs.installRoot, product.qbs.installPrefix, product.lirideployment.qmlDir)
].join(product.qbs.pathListSeparator), env["QML2_IMPORT_PATH"], product.qbs.pathListSeparator);

if (qbs.hostOS.contains("unix") && qbs.targetOS.contains("unix")) {
if (product.qbs.hostOS.contains("unix") && product.qbs.targetOS.contains("unix")) {
env["LD_LIBRARY_PATH"] = PathTools.prependOrSetPath([
FileInfo.joinPaths(qbs.installRoot, qbs.installPrefix, libDir)
].join(qbs.pathListSeparator), env["LD_LIBRARY_PATH"], qbs.pathListSeparator);
FileInfo.joinPaths(product.qbs.installRoot, product.qbs.installPrefix, product.lirideployment.libDir)
].join(product.qbs.pathListSeparator), env["LD_LIBRARY_PATH"], product.qbs.pathListSeparator);
env["XDG_DATA_DIRS"] = PathTools.prependOrSetPath([
FileInfo.joinPaths(qbs.installRoot, qbs.installPrefix, dataDir)
].join(qbs.pathListSeparator), env["XDG_DATA_DIRS"], qbs.pathListSeparator);
FileInfo.joinPaths(product.qbs.installRoot, product.qbs.installPrefix, product.lirideployment.dataDir)
].join(product.qbs.pathListSeparator), env["XDG_DATA_DIRS"], product.qbs.pathListSeparator);
env["XDG_CONFIG_DIRS"] = PathTools.prependOrSetPath([
FileInfo.joinPaths(qbs.installRoot, qbs.installPrefix, etcDir, "xdg")
].join(qbs.pathListSeparator), env["XDG_CONFIG_DIRS"], qbs.pathListSeparator);
FileInfo.joinPaths(product.qbs.installRoot, product.qbs.installPrefix, product.lirideployment.etcDir, "xdg")
].join(product.qbs.pathListSeparator), env["XDG_CONFIG_DIRS"], product.qbs.pathListSeparator);
}

for (var i in env) {
var v = new ModUtils.EnvironmentVariable(i, qbs.pathListSeparator,
qbs.hostOS.contains("windows"));
var v = new ModUtils.EnvironmentVariable(i, product.qbs.pathListSeparator,
product.qbs.hostOS.contains("windows"));
v.value = env[i];
v.set();
}
Expand Down
5 changes: 3 additions & 2 deletions qbs-shared.qbs
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@ import qbs 1.0
Project {
name: "QbsShared"

readonly property string version: "1.2.0"
readonly property string version: "1.3.0"
readonly property var versionParts: version.split('.').map(function(part) { return parseInt(part); })

property string prefix: "/usr/local"
property string qbsImportsDir: prefix + "/share/qbs/imports"
property string qbsModulesDir: prefix + "/share/qbs/modules"

minimumQbsVersion: "1.9.0"
//minimumQbsVersion: "1.11.0"
minimumQbsVersion: "1.10.0"

Product {
name: "Installation"
Expand Down

0 comments on commit dfffe1c

Please sign in to comment.