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 | |
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')
-rw-r--r-- | share/qbs/imports/qbs/Probes/ClangClProbe.qbs | 8 | ||||
-rw-r--r-- | share/qbs/modules/cpp/windows-clang-cl.qbs | 4 |
2 files changed, 8 insertions, 4 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); } } diff --git a/share/qbs/modules/cpp/windows-clang-cl.qbs b/share/qbs/modules/cpp/windows-clang-cl.qbs index 2ac3f356a..d57f5a7ad 100644 --- a/share/qbs/modules/cpp/windows-clang-cl.qbs +++ b/share/qbs/modules/cpp/windows-clang-cl.qbs @@ -52,9 +52,11 @@ MsvcBaseModule { compilerFilePath: compilerPath vcvarsallFilePath: vcvarsallPath enableDefinesByLanguage: enableCompilerDefinesByLanguage - architecture: qbs.architecture + preferredArchitecture: qbs.architecture } + qbs.architecture: clangClProbe.found ? clangClProbe.architecture : original + compilerVersionMajor: clangClProbe.versionMajor compilerVersionMinor: clangClProbe.versionMinor compilerVersionPatch: clangClProbe.versionPatch |