#!/usr/bin/env python3 # SPDX-License-Identifier: GPL-2.0-or-later # SPDX-FileCopyrightText: 2011-2024 Blender Authors # import argparse import pathlib import sys from collections import OrderedDict sys.path.append(str(pathlib.Path(__file__).resolve().parent.parent)) import worker.configure import worker.utils import worker.blender import worker.blender.benchmark import worker.blender.compile import worker.blender.update class BenchmarkBuilder(worker.blender.CodeBuilder): def __init__(self, args: argparse.Namespace): super().__init__(args) self.setup_track_path() if __name__ == "__main__": steps: worker.utils.BuilderSteps = OrderedDict() steps["configure-machine"] = worker.configure.configure_machine steps["update-code"] = worker.blender.update.update steps["compile-code"] = worker.blender.compile.compile_code steps["compile-gpu"] = worker.blender.compile.compile_gpu steps["compile-install"] = worker.blender.compile.compile_install steps["benchmark"] = worker.blender.benchmark.benchmark steps["clean"] = worker.blender.CodeBuilder.clean parser = worker.blender.create_argument_parser(steps=steps) args = parser.parse_args() builder = BenchmarkBuilder(args) builder.run(args.step, steps)