diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2020-01-06 13:49:01 -0800 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2020-01-28 10:52:00 -0800 |
commit | 0f47ca95c1291ed954bf6a84783208d5538ef881 (patch) | |
tree | 2214c06a5e8156e597dbfea0a47ed647ff32c079 /mesonbuild/compilers/cpp.py | |
parent | 3d60665885132cceccc7d80640a5b4735d6a7d48 (diff) | |
download | meson-0f47ca95c1291ed954bf6a84783208d5538ef881.zip meson-0f47ca95c1291ed954bf6a84783208d5538ef881.tar.gz meson-0f47ca95c1291ed954bf6a84783208d5538ef881.tar.bz2 |
compilers: Split ClangCL and MSVC mixins
Instead of checking the compiler id inside the VisualStudioLikeCompiler
class, this creates two subclasses that each represent the divergent
behavior of the two compilers
Diffstat (limited to 'mesonbuild/compilers/cpp.py')
-rw-r--r-- | mesonbuild/compilers/cpp.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py index 443a9ee..bdca596 100644 --- a/mesonbuild/compilers/cpp.py +++ b/mesonbuild/compilers/cpp.py @@ -30,7 +30,7 @@ from .c_function_attributes import CXX_FUNC_ATTRIBUTES, C_FUNC_ATTRIBUTES from .mixins.clike import CLikeCompiler from .mixins.ccrx import CcrxCompiler from .mixins.arm import ArmCompiler, ArmclangCompiler -from .mixins.visualstudio import VisualStudioLikeCompiler +from .mixins.visualstudio import MSVCCompiler, ClangClCompiler from .mixins.gnu import GnuCompiler from .mixins.intel import IntelGnuLikeCompiler, IntelVisualStudioLikeCompiler from .mixins.clang import ClangCompiler @@ -511,11 +511,11 @@ class CPP11AsCPP14Mixin: return super().get_option_compile_args(options) -class VisualStudioCPPCompiler(CPP11AsCPP14Mixin, VisualStudioLikeCPPCompilerMixin, VisualStudioLikeCompiler, CPPCompiler): +class VisualStudioCPPCompiler(CPP11AsCPP14Mixin, VisualStudioLikeCPPCompilerMixin, MSVCCompiler, CPPCompiler): def __init__(self, exelist, version, for_machine: MachineChoice, is_cross: bool, info: 'MachineInfo', exe_wrap, target, **kwargs): CPPCompiler.__init__(self, exelist, version, for_machine, is_cross, info, exe_wrap, **kwargs) - VisualStudioLikeCompiler.__init__(self, target) + MSVCCompiler.__init__(self, target) self.base_options = ['b_pch', 'b_vscrt'] # FIXME add lto, pgo and the like self.id = 'msvc' @@ -545,12 +545,12 @@ class VisualStudioCPPCompiler(CPP11AsCPP14Mixin, VisualStudioLikeCPPCompilerMixi del args[i] return args -class ClangClCPPCompiler(CPP11AsCPP14Mixin, VisualStudioLikeCPPCompilerMixin, VisualStudioLikeCompiler, CPPCompiler): +class ClangClCPPCompiler(CPP11AsCPP14Mixin, VisualStudioLikeCPPCompilerMixin, ClangClCompiler, CPPCompiler): def __init__(self, exelist, version, for_machine: MachineChoice, is_cross, info: 'MachineInfo', exe_wrap, target, **kwargs): CPPCompiler.__init__(self, exelist, version, for_machine, is_cross, info, exe_wrap, **kwargs) - VisualStudioLikeCompiler.__init__(self, target) + ClangClCompiler.__init__(self, target) self.id = 'clang-cl' def get_options(self): |