aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@petroules.com>2014-04-07 15:25:43 -0400
committerJake Petroules <jake.petroules@petroules.com>2014-04-14 17:20:56 +0200
commit66c391892c92b69fb922193d6f7702dde71d7ed2 (patch)
treec190115a3a75d1dcdc57495c1ea530cb1aaac767 /share
parent661de9d74ee8e74dbe85a5c52563094f63ee03c0 (diff)
Pass the product to PathTools functions for proper encapsulation.
Change-Id: Idcfbb37830e56b09af56d087b710b7e64fb66c0c Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'share')
-rw-r--r--share/qbs/imports/qbs/PathTools/path-tools.js52
-rw-r--r--share/qbs/modules/cpp/DarwinGCC.qbs2
-rw-r--r--share/qbs/modules/cpp/GenericGCC.qbs14
-rw-r--r--share/qbs/modules/cpp/windows-msvc.qbs8
4 files changed, 34 insertions, 42 deletions
diff --git a/share/qbs/imports/qbs/PathTools/path-tools.js b/share/qbs/imports/qbs/PathTools/path-tools.js
index 81846226c..3f519d832 100644
--- a/share/qbs/imports/qbs/PathTools/path-tools.js
+++ b/share/qbs/imports/qbs/PathTools/path-tools.js
@@ -1,37 +1,32 @@
var BundleTools = loadExtension("qbs.BundleTools");
-function applicationFileName()
-{
- return ModUtils.moduleProperty(product, "executablePrefix")
+function applicationFileName(product) {
+ return product.moduleProperty("cpp", "executablePrefix")
+ product.targetName
- + ModUtils.moduleProperty(product, "executableSuffix");
+ + product.moduleProperty("cpp", "executableSuffix");
}
-function applicationFilePath()
-{
+function applicationFilePath(product) {
if (BundleTools.isBundleProduct(product))
return BundleTools.executablePath(product);
else
- return applicationFileName();
+ return applicationFileName(product);
}
-function staticLibraryFileName()
-{
- return ModUtils.moduleProperty(product, "staticLibraryPrefix")
+function staticLibraryFileName(product) {
+ return product.moduleProperty("cpp", "staticLibraryPrefix")
+ product.targetName
- + ModUtils.moduleProperty(product, "staticLibrarySuffix");
+ + product.moduleProperty("cpp", "staticLibrarySuffix");
}
-function staticLibraryFilePath()
-{
+function staticLibraryFilePath(product) {
if (BundleTools.isBundleProduct(product))
return BundleTools.executablePath(product);
else
- return staticLibraryFileName();
+ return staticLibraryFileName(product);
}
-function dynamicLibraryFileName(version, maxParts)
-{
+function dynamicLibraryFileName(product, version, maxParts) {
// If no override version was given, use the product's version
// We specifically want to differentiate between undefined and i.e.
// empty string as empty string should be taken to mean "no version"
@@ -48,7 +43,7 @@ function dynamicLibraryFileName(version, maxParts)
version = version.split('.').slice(0, maxParts).join('.');
// Start with prefix + name (i.e. libqbs, qbs)
- var fileName = ModUtils.moduleProperty(product, "dynamicLibraryPrefix") + product.targetName;
+ var fileName = product.moduleProperty("cpp", "dynamicLibraryPrefix") + product.targetName;
// For Darwin platforms, append the version number if there is one (i.e. libqbs.1.0.0)
var targetOS = product.moduleProperty("qbs", "targetOS");
@@ -58,7 +53,7 @@ function dynamicLibraryFileName(version, maxParts)
}
// Append the suffix (i.e. libqbs.1.0.0.dylib, libqbs.so, qbs.dll)
- fileName += ModUtils.moduleProperty(product, "dynamicLibrarySuffix");
+ fileName += product.moduleProperty("cpp", "dynamicLibrarySuffix");
// For non-Darwin Unix platforms, append the version number if there is one (i.e. libqbs.so.1.0.0)
if (version && targetOS.contains("unix") && !targetOS.contains("darwin"))
@@ -67,33 +62,30 @@ function dynamicLibraryFileName(version, maxParts)
return fileName;
}
-function dynamicLibraryFilePath(version, maxParts)
-{
+function dynamicLibraryFilePath(product, version, maxParts) {
if (BundleTools.isBundleProduct(product))
return BundleTools.executablePath(product, version);
else
- return dynamicLibraryFileName(version, maxParts);
+ return dynamicLibraryFileName(product, version, maxParts);
}
-function importLibraryFilePath()
-{
- return ModUtils.moduleProperty(product, "dynamicLibraryPrefix")
+function importLibraryFilePath(product) {
+ return product.moduleProperty("cpp", "dynamicLibraryPrefix")
+ product.targetName
- + ModUtils.moduleProperty(product, "dynamicLibraryImportSuffix");
+ + product.moduleProperty("cpp", "dynamicLibraryImportSuffix");
}
// DWARF_DSYM_FILE_NAME
// Filename of the target's corresponding dSYM file
-function dwarfDsymFileName()
-{
+function dwarfDsymFileName(product) {
if (BundleTools.isBundleProduct(product))
return BundleTools.wrapperName(product) + ".dSYM";
else if (product.type.contains("application"))
- return applicationFileName() + ".dSYM";
+ return applicationFileName(product) + ".dSYM";
else if (product.type.contains("dynamiclibrary"))
- return dynamicLibraryFileName() + ".dSYM";
+ return dynamicLibraryFileName(product) + ".dSYM";
else if (product.type.contains("staticlibrary"))
- return staticLibraryFileName() + ".dSYM";
+ return staticLibraryFileName(product) + ".dSYM";
else
return product.targetName + ".dSYM";
}
diff --git a/share/qbs/modules/cpp/DarwinGCC.qbs b/share/qbs/modules/cpp/DarwinGCC.qbs
index 4f2149717..e70d3a8ac 100644
--- a/share/qbs/modules/cpp/DarwinGCC.qbs
+++ b/share/qbs/modules/cpp/DarwinGCC.qbs
@@ -318,7 +318,7 @@ UnixGCC {
inputs: ["application"]
Artifact {
- fileName: product.destinationDirectory + "/" + PathTools.dwarfDsymFileName()
+ fileName: product.destinationDirectory + "/" + PathTools.dwarfDsymFileName(product)
fileTags: ["application_dsym"]
}
diff --git a/share/qbs/modules/cpp/GenericGCC.qbs b/share/qbs/modules/cpp/GenericGCC.qbs
index dccadbde0..772dc0782 100644
--- a/share/qbs/modules/cpp/GenericGCC.qbs
+++ b/share/qbs/modules/cpp/GenericGCC.qbs
@@ -67,32 +67,32 @@ CppModule {
usings: ["dynamiclibrary_copy", "staticlibrary", "frameworkbundle"]
Artifact {
- fileName: product.destinationDirectory + "/" + PathTools.dynamicLibraryFilePath()
+ fileName: product.destinationDirectory + "/" + PathTools.dynamicLibraryFilePath(product)
fileTags: ["dynamiclibrary"]
}
// libfoo
Artifact {
- fileName: product.destinationDirectory + "/" + PathTools.dynamicLibraryFileName(undefined, 0)
+ fileName: product.destinationDirectory + "/" + PathTools.dynamicLibraryFileName(product, undefined, 0)
fileTags: ["dynamiclibrary_symlink"]
}
// libfoo.1
Artifact {
- fileName: product.destinationDirectory + "/" + PathTools.dynamicLibraryFileName(undefined, 1)
+ fileName: product.destinationDirectory + "/" + PathTools.dynamicLibraryFileName(product, undefined, 1)
fileTags: ["dynamiclibrary_symlink"]
}
// libfoo.1.0
Artifact {
- fileName: product.destinationDirectory + "/" + PathTools.dynamicLibraryFileName(undefined, 2)
+ fileName: product.destinationDirectory + "/" + PathTools.dynamicLibraryFileName(product, undefined, 2)
fileTags: ["dynamiclibrary_symlink"]
}
// Copy of dynamic lib for smart re-linking.
Artifact {
fileName: product.destinationDirectory + "/.socopy/"
- + PathTools.dynamicLibraryFilePath()
+ + PathTools.dynamicLibraryFilePath(product)
fileTags: ["dynamiclibrary_copy"]
alwaysUpdated: false
cpp.transitiveSOs: {
@@ -225,7 +225,7 @@ CppModule {
usings: ["dynamiclibrary", "staticlibrary", "frameworkbundle"]
Artifact {
- fileName: product.destinationDirectory + "/" + PathTools.staticLibraryFilePath()
+ fileName: product.destinationDirectory + "/" + PathTools.staticLibraryFilePath(product)
fileTags: ["staticlibrary"]
cpp.staticLibraries: {
var result = []
@@ -271,7 +271,7 @@ CppModule {
usings: ["dynamiclibrary_copy", "staticlibrary", "frameworkbundle"]
Artifact {
- fileName: product.destinationDirectory + "/" + PathTools.applicationFilePath()
+ fileName: product.destinationDirectory + "/" + PathTools.applicationFilePath(product)
fileTags: ["application"]
}
diff --git a/share/qbs/modules/cpp/windows-msvc.qbs b/share/qbs/modules/cpp/windows-msvc.qbs
index 60137f4f5..7ee020685 100644
--- a/share/qbs/modules/cpp/windows-msvc.qbs
+++ b/share/qbs/modules/cpp/windows-msvc.qbs
@@ -114,7 +114,7 @@ CppModule {
usings: ['staticlibrary', 'dynamiclibrary_import']
Artifact {
fileTags: ["application"]
- fileName: product.destinationDirectory + "/" + PathTools.applicationFilePath()
+ fileName: product.destinationDirectory + "/" + PathTools.applicationFilePath(product)
}
prepare: {
@@ -135,12 +135,12 @@ CppModule {
Artifact {
fileTags: ["dynamiclibrary"]
- fileName: product.destinationDirectory + "/" + PathTools.dynamicLibraryFilePath()
+ fileName: product.destinationDirectory + "/" + PathTools.dynamicLibraryFilePath(product)
}
Artifact {
fileTags: ["dynamiclibrary_import"]
- fileName: product.destinationDirectory + "/" + PathTools.importLibraryFilePath()
+ fileName: product.destinationDirectory + "/" + PathTools.importLibraryFilePath(product)
alwaysUpdated: false
}
@@ -162,7 +162,7 @@ CppModule {
Artifact {
fileTags: ["staticlibrary"]
- fileName: product.destinationDirectory + "/" + PathTools.staticLibraryFilePath()
+ fileName: product.destinationDirectory + "/" + PathTools.staticLibraryFilePath(product)
cpp.staticLibraries: {
var result = []
for (var i in inputs.staticlibrary) {