diff --git a/mesonbuild/dependencies/cmake.py b/mesonbuild/dependencies/cmake.py index 2a98020a9..66d331925 100644 --- a/mesonbuild/dependencies/cmake.py +++ b/mesonbuild/dependencies/cmake.py @@ -94,10 +94,6 @@ class CMakeDependency(ExternalDependency): super().__init__(DependencyTypeName('cmake'), environment, kwargs, language=language) self.name = name self.is_libtool = False - # Store a copy of the CMake path on the object itself so it is - # stored in the pickled coredata and recovered. - self.cmakebin: T.Optional[CMakeExecutor] = None - self.cmakeinfo: T.Optional[CMakeInfo] = None # Where all CMake "build dirs" are located self.cmake_root_dir = environment.scratch_dir @@ -105,14 +101,12 @@ class CMakeDependency(ExternalDependency): # T.List of successfully found modules self.found_modules: T.List[str] = [] - # Initialize with None before the first return to avoid - # AttributeError exceptions in derived classes - self.traceparser: T.Optional[CMakeTraceParser] = None - + # Store a copy of the CMake path on the object itself so it is + # stored in the pickled coredata and recovered. + # # TODO further evaluate always using MachineChoice.BUILD self.cmakebin = CMakeExecutor(environment, CMakeDependency.class_cmake_version, self.for_machine, silent=self.silent) if not self.cmakebin.found(): - self.cmakebin = None msg = f'CMake binary for machine {self.for_machine} not found. Giving up.' if self.required: raise DependencyException(msg) diff --git a/mesonbuild/dependencies/dev.py b/mesonbuild/dependencies/dev.py index f53b93cbe..72dbb4522 100644 --- a/mesonbuild/dependencies/dev.py +++ b/mesonbuild/dependencies/dev.py @@ -407,7 +407,7 @@ class LLVMDependencyCMake(CMakeDependency): super().__init__(name, env, kwargs, language='cpp', force_use_global_compilers=True) - if self.traceparser is None: + if not self.cmakebin.found(): return if not self.is_found: