diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2021-10-22 16:59:34 +0300 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2021-10-25 19:59:49 -0400 |
commit | 4840c86ec94b0d34a443d38ac771f1e7fe000c59 (patch) | |
tree | beb52df91153e8b67557ab30ba2fc93187bb1298 /mesonbuild/compilers/detect.py | |
parent | abaa980436f53100041bd5535589bb1c42019bd6 (diff) | |
download | meson-4840c86ec94b0d34a443d38ac771f1e7fe000c59.zip meson-4840c86ec94b0d34a443d38ac771f1e7fe000c59.tar.gz meson-4840c86ec94b0d34a443d38ac771f1e7fe000c59.tar.bz2 |
Add sccache support.
Diffstat (limited to 'mesonbuild/compilers/detect.py')
-rw-r--r-- | mesonbuild/compilers/detect.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mesonbuild/compilers/detect.py b/mesonbuild/compilers/detect.py index 5e0710b..272f5e4 100644 --- a/mesonbuild/compilers/detect.py +++ b/mesonbuild/compilers/detect.py @@ -236,7 +236,7 @@ def _get_compilers(env: 'Environment', lang: str, for_machine: MachineChoice) -> if not env.machines.matches_build_machine(for_machine): raise EnvironmentException(f'{lang!r} compiler binary not defined in cross or native file') compilers = [[x] for x in defaults[lang]] - ccache = BinaryTable.detect_ccache() + ccache = BinaryTable.detect_compiler_cache() if env.machines.matches_build_machine(for_machine): exe_wrap: T.Optional[ExternalProgram] = None @@ -554,8 +554,13 @@ def _detect_c_or_cpp_compiler(env: 'Environment', lang: str, for_machine: Machin raise EnvironmentException(m) cls = VisualStudioCCompiler if lang == 'c' else VisualStudioCPPCompiler linker = guess_win_linker(env, ['link'], cls, for_machine) + # As of this writing, CCache does not support MSVC but sccache does. + if 'sccache' in ccache: + final_compiler = ccache + compiler + else: + final_compiler = compiler return cls( - compiler, version, for_machine, is_cross, info, target, + final_compiler, version, for_machine, is_cross, info, target, exe_wrap, full_version=cl_signature, linker=linker) if 'PGI Compilers' in out: cls = PGICCompiler if lang == 'c' else PGICPPCompiler |