diff options
author | Ivan Komissarov <ABBAPOH@gmail.com> | 2020-02-13 01:33:37 +0100 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2020-02-14 17:06:46 +0000 |
commit | bc01b6cc3dc1ee77cfcc3438d8e0d8985016cb65 (patch) | |
tree | 53ce517a6838cf7cf532c81f72dea2cd83454734 /share/qbs/imports/qbs/Probes | |
parent | cf5562823e8406183b4866c148116c6632f77956 (diff) |
clang-cl: Fix macro dumping
Previously, clang.exe was used to dump macro as clang-cl does not
support the MSVC way. Also, architecture was not detected correctly
because of the wrong assumption that clang-cl respects arch variables
set by the vcvarsall.bat
Change-Id: Ic6464c2bd90f1a2fceb2f8aa884721872179ff49
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share/qbs/imports/qbs/Probes')
-rw-r--r-- | share/qbs/imports/qbs/Probes/ClangClProbe.qbs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/share/qbs/imports/qbs/Probes/ClangClProbe.qbs b/share/qbs/imports/qbs/Probes/ClangClProbe.qbs index c7687f0e9..8205e92fa 100644 --- a/share/qbs/imports/qbs/Probes/ClangClProbe.qbs +++ b/share/qbs/imports/qbs/Probes/ClangClProbe.qbs @@ -39,7 +39,7 @@ PathProbe { property string compilerFilePath property string vcvarsallFilePath property stringList enableDefinesByLanguage - property string architecture + property string preferredArchitecture property string _nullDevice: qbs.nullDevice property string _pathListSeparator: qbs.pathListSeparator @@ -48,6 +48,7 @@ PathProbe { property int versionMinor property int versionPatch property stringList includePaths + property string architecture property var buildEnv property var compilerDefinesByLanguage @@ -57,9 +58,9 @@ PathProbe { languages = ["c"]; var info = languages.contains("c") - ? Utilities.clangClCompilerInfo(compilerFilePath, architecture, vcvarsallFilePath, "c") : {}; + ? Utilities.clangClCompilerInfo(compilerFilePath, preferredArchitecture, vcvarsallFilePath, "c") : {}; var infoCpp = languages.contains("cpp") - ? Utilities.clangClCompilerInfo(compilerFilePath, architecture, vcvarsallFilePath, "cpp") : {}; + ? Utilities.clangClCompilerInfo(compilerFilePath, preferredArchitecture, vcvarsallFilePath, "cpp") : {}; found = (!languages.contains("c") || (!!info && !!info.macros && !!info.buildEnvironment)) && (!languages.contains("cpp") || @@ -84,5 +85,6 @@ PathProbe { [], _nullDevice, _pathListSeparator, "", ""); includePaths = defaultPaths.includePaths; + architecture = ModUtils.guessArchitecture(macros); } } |