diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2019-08-23 16:32:56 -0700 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-08-24 02:32:56 +0300 |
commit | 110b56293059999231d5b32cbf552c7845375cb0 (patch) | |
tree | 79888f75fdca96ff2f66ffa13cbc230bba25a74e /mesonbuild/backend/vs2019backend.py | |
parent | e085aa089f50a2429ce90a6d24e23bc86faeeeec (diff) | |
download | meson-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.py | 14 |
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: |