From 110b56293059999231d5b32cbf552c7845375cb0 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Fri, 23 Aug 2019 16:32:56 -0700 Subject: 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 --- mesonbuild/backend/vs2019backend.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'mesonbuild/backend/vs2019backend.py') 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: -- cgit v1.1