diff options
author | Jake Petroules <jake.petroules@petroules.com> | 2014-04-07 15:25:43 -0400 |
---|---|---|
committer | Jake Petroules <jake.petroules@petroules.com> | 2014-04-14 17:20:56 +0200 |
commit | 66c391892c92b69fb922193d6f7702dde71d7ed2 (patch) | |
tree | c190115a3a75d1dcdc57495c1ea530cb1aaac767 /share | |
parent | 661de9d74ee8e74dbe85a5c52563094f63ee03c0 (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.js | 52 | ||||
-rw-r--r-- | share/qbs/modules/cpp/DarwinGCC.qbs | 2 | ||||
-rw-r--r-- | share/qbs/modules/cpp/GenericGCC.qbs | 14 | ||||
-rw-r--r-- | share/qbs/modules/cpp/windows-msvc.qbs | 8 |
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) { |