diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2018-04-16 07:58:59 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2018-04-18 05:09:45 +0000 |
commit | 5378c7d4dd7ef920841b01bca3cb75585e7ee5f2 (patch) | |
tree | a86215e1c78051f1f9a223a49abe0cc9134d94f1 /share/qbs/modules/cpp/windows-msvc.qbs | |
parent | 712ab15916cbce2ce4605dd8bf1ee658c63fef76 (diff) | |
download | qbs-5378c7d4dd7ef920841b01bca3cb75585e7ee5f2.tar.gz |
Expose cl-generated PDBs as debuginfo_cl artifacts for static libs
[ChangeLog] For MSVC static libraries, compiler-generated PDB files are
now tagged as debuginfo_cl to make them installable.
Change-Id: I8431dbffbbc31c48f1bc7aea96332e0b2408c743
Task-number: QBS-1106
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share/qbs/modules/cpp/windows-msvc.qbs')
-rw-r--r-- | share/qbs/modules/cpp/windows-msvc.qbs | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/share/qbs/modules/cpp/windows-msvc.qbs b/share/qbs/modules/cpp/windows-msvc.qbs index 653f58212..3164e08b5 100644 --- a/share/qbs/modules/cpp/windows-msvc.qbs +++ b/share/qbs/modules/cpp/windows-msvc.qbs @@ -260,24 +260,36 @@ CppModule { multiplex: true inputs: ["obj"] inputsFromDependencies: ["staticlibrary", "dynamiclibrary_import"] - - Artifact { - fileTags: ["staticlibrary"] - filePath: product.destinationDirectory + "/" + PathTools.staticLibraryFilePath(product) + outputFileTags: ["staticlibrary", "debuginfo_cl"] + outputArtifacts: { + var artifacts = [ + { + fileTags: ["staticlibrary"], + filePath: FileInfo.joinPaths(product.destinationDirectory, + PathTools.staticLibraryFilePath(product)) + } + ]; + if (product.cpp.debugInformation && product.cpp.separateDebugInformation) { + artifacts.push({ + fileTags: ["debuginfo_cl"], + filePath: product.targetName + ".cl" + product.cpp.debugInfoSuffix + }); + } + return artifacts; } - prepare: { var args = ['/nologo'] - var nativeOutputFileName = FileInfo.toWindowsSeparators(output.filePath) + var lib = outputs["staticlibrary"][0]; + var nativeOutputFileName = FileInfo.toWindowsSeparators(lib.filePath) args.push('/OUT:' + nativeOutputFileName) for (var i in inputs.obj) { var fileName = FileInfo.toWindowsSeparators(inputs.obj[i].filePath) args.push(fileName) } var cmd = new Command("lib.exe", args); - cmd.description = 'creating ' + output.fileName; + cmd.description = 'creating ' + lib.fileName; cmd.highlight = 'linker'; - cmd.workingDirectory = FileInfo.path(output.filePath) + cmd.workingDirectory = FileInfo.path(lib.filePath) cmd.responseFileUsagePrefix = '@'; return cmd; } |