diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2021-09-21 16:13:57 +0300 |
---|---|---|
committer | Ivan Komissarov <abbapoh@gmail.com> | 2021-09-21 16:13:57 +0300 |
commit | 8dae282f66706c5dc3865140b25fbcc5c816d635 (patch) | |
tree | a259f544c85ce18eefd5a5a4f40584efb23ddc01 /share/qbs | |
parent | fcd82d6f2c0c1cd780ca18ec2f7c8e3d5a70f814 (diff) | |
parent | 27bd9ac836b5cd2937b8d19dfa32cb4ff617b73c (diff) |
Merge branch '1.20' into master
Change-Id: Iac2a17ef4bacf25becc7f2082a8a73a21b2f4d76
Diffstat (limited to 'share/qbs')
-rw-r--r-- | share/qbs/module-providers/Qt/setup-qt.js | 35 | ||||
-rw-r--r-- | share/qbs/modules/Android/sdk/utils.js | 3 | ||||
-rw-r--r-- | share/qbs/modules/cpp/gcc.js | 28 |
3 files changed, 47 insertions, 19 deletions
diff --git a/share/qbs/module-providers/Qt/setup-qt.js b/share/qbs/module-providers/Qt/setup-qt.js index b1239a78a..422863b95 100644 --- a/share/qbs/module-providers/Qt/setup-qt.js +++ b/share/qbs/module-providers/Qt/setup-qt.js @@ -53,24 +53,29 @@ function getQmakeFilePaths(qmakeFilePaths, qbs) { if (qmakeFilePaths && qmakeFilePaths.length > 0) return qmakeFilePaths; console.info("Detecting Qt installations..."); - var pathValue = Environment.getEnv("PATH"); - if (!pathValue) - return []; - var dirs = splitNonEmpty(pathValue, qbs.pathListSeparator); - var suffix = exeSuffix(qbs); var filePaths = []; - for (var i = 0; i < dirs.length; ++i) { - var candidate = FileInfo.joinPaths(dirs[i], "qmake" + suffix); - var canonicalCandidate = FileInfo.canonicalPath(candidate); - if (!canonicalCandidate || !File.exists(canonicalCandidate)) - continue; - if (FileInfo.completeBaseName(canonicalCandidate) !== "qtchooser") - candidate = canonicalCandidate; - if (!filePaths.contains(candidate)) { - console.info("Found Qt at '" + toNative(candidate) + "'."); - filePaths.push(candidate); + var pathValue = Environment.getEnv("PATH"); + if (pathValue) { + var dirs = splitNonEmpty(pathValue, qbs.pathListSeparator); + var suffix = exeSuffix(qbs); + for (var i = 0; i < dirs.length; ++i) { + var candidate = FileInfo.joinPaths(dirs[i], "qmake" + suffix); + var canonicalCandidate = FileInfo.canonicalPath(candidate); + if (!canonicalCandidate || !File.exists(canonicalCandidate)) + continue; + if (FileInfo.completeBaseName(canonicalCandidate) !== "qtchooser") + candidate = canonicalCandidate; + if (!filePaths.contains(candidate)) { + console.info("Found Qt at '" + toNative(candidate) + "'."); + filePaths.push(candidate); + } } } + if (filePaths.length === 0) { + console.warn("Could not find any qmake executables in PATH. Either make sure a qmake " + + "executable is present in PATH or set the moduleProviders.Qt.qmakeFilePaths property " + + "to point a qmake executable."); + } return filePaths; } diff --git a/share/qbs/modules/Android/sdk/utils.js b/share/qbs/modules/Android/sdk/utils.js index a10ca69fc..36a88ddbb 100644 --- a/share/qbs/modules/Android/sdk/utils.js +++ b/share/qbs/modules/Android/sdk/utils.js @@ -393,7 +393,8 @@ function prepareBundletoolPackage(project, product, inputs, outputs, input, outp args.push("--modules=" + baseFilePath); args.push("--output=" + aabFilePath); var cmd = new Command(product.java.interpreterFilePath, args); - cmd.description = "generating " + aabFilePath.fileName; + var aabFileName = outputs["android.package_unsigned"][0].fileName; + cmd.description = "generating " + aabFileName; cmds.push(cmd); return cmds; diff --git a/share/qbs/modules/cpp/gcc.js b/share/qbs/modules/cpp/gcc.js index f7581d09b..13cdb4a3d 100644 --- a/share/qbs/modules/cpp/gcc.js +++ b/share/qbs/modules/cpp/gcc.js @@ -954,7 +954,7 @@ function prepareAssembler(project, product, inputs, outputs, input, output) { args = args.concat(Cpp.collectMiscAssemblerArguments(input, "asm")); args = args.concat(Cpp.collectIncludePathsArguments(input)); - args = args.concat(Cpp.collectSystemIncludePathsArguments(input)); + args = args.concat(Cpp.collectSystemIncludePathsArguments(input, input.cpp.includeFlag)); args.push("-o", output.filePath); args.push(input.filePath); @@ -1481,6 +1481,28 @@ function dumpDefaultPaths(env, compilerFilePath, args, nullDevice, pathListSepar } } +function targetLinkerFlags(targetArch, targetOS) { + var linkerFlags = { + "windows": { + "i386": "i386pe", + "x86_64": "i386pep", + }, + "freebsd": { + "i386": "elf_i386_fbsd", + "x86_64": "elf_x86_64_fbsd", + }, + "other": { + "i386": "elf_i386", + "x86_64": "elf_x86_64", + } + }; + if (targetOS.contains("windows")) + return linkerFlags["windows"][targetArch]; + else if (targetOS.contains("freebsd")) + return linkerFlags["freebsd"][targetArch]; + return linkerFlags["other"][targetArch]; +} + function targetFlags(tool, hasTargetOption, target, targetArch, machineType, targetOS) { var args = []; if (hasTargetOption) { @@ -1493,8 +1515,8 @@ function targetFlags(tool, hasTargetOption, target, targetArch, machineType, tar "x86_64": ["-m64"], }, "linker": { - "i386": ["-m", targetOS.contains("windows") ? "i386pe" : "elf_i386"], - "x86_64": ["-m", targetOS.contains("windows") ? "i386pep" : "elf_x86_64"], + "i386": ["-m", targetLinkerFlags("i386", targetOS)], + "x86_64": ["-m", targetLinkerFlags("x86_64", targetOS)], }, "assembler": { "i386": ["--32"], |