aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/vs2019backend.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2019-08-23 16:32:56 -0700
committerJussi Pakkanen <jpakkane@gmail.com>2019-08-24 02:32:56 +0300
commit110b56293059999231d5b32cbf552c7845375cb0 (patch)
tree79888f75fdca96ff2f66ffa13cbc230bba25a74e /mesonbuild/backend/vs2019backend.py
parente085aa089f50a2429ce90a6d24e23bc86faeeeec (diff)
downloadmeson-110b56293059999231d5b32cbf552c7845375cb0.zip
meson-110b56293059999231d5b32cbf552c7845375cb0.tar.gz
meson-110b56293059999231d5b32cbf552c7845375cb0.tar.bz2
Vs backend compiler selection (#5448)
* backends/vs: Only set platform_toolset if it isn't already set * interpreter: set backend up after the compiler Otherwise we won't be able to check which VS toolchain to use. * docs/using-visual-studio: wrap lines * docs: recommend the py launcher instead of python3 for windows * set backend.environment when building a dummy version * backends/vs: Add support for clang-cl with vs2017 and vs2019 backends * backends/vs: Add support for ICL (19.x) with vs2015 and vs2017 backends
Diffstat (limited to 'mesonbuild/backend/vs2019backend.py')
-rw-r--r--mesonbuild/backend/vs2019backend.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/mesonbuild/backend/vs2019backend.py b/mesonbuild/backend/vs2019backend.py
index c6e78cb..c0ff5c3 100644
--- a/mesonbuild/backend/vs2019backend.py
+++ b/mesonbuild/backend/vs2019backend.py
@@ -22,8 +22,18 @@ class Vs2019Backend(Vs2010Backend):
def __init__(self, build):
super().__init__(build)
self.name = 'vs2019'
- self.platform_toolset = 'v142'
- self.vs_version = '2019'
+ if self.environment is not None:
+ comps = self.environment.coredata.compilers.host
+ if comps and all(c.id == 'clang-cl' for c in comps.values()):
+ self.platform_toolset = 'llvm'
+ elif comps and all(c.id == 'intel-cl' for c in comps.values()):
+ c = list(comps.values())[0]
+ if c.version.startswith('19'):
+ self.platform_toolset = 'Intel C++ Compiler 19.0'
+ # We don't have support for versions older than 2019 right now.
+ if not self.platform_toolset:
+ self.platform_toolset = 'v142'
+ self.vs_version = '2019'
# WindowsSDKVersion should be set by command prompt.
sdk_version = os.environ.get('WindowsSDKVersion', None)
if sdk_version: