#!/usr/bin/env python3 ## Copyright 2022 The IREE Authors # # Licensed under the Apache License v2.0 with LLVM Exceptions. # See https://llvm.org/LICENSE.txt for license information. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception """Generates a CMake file to define e2e mdoel tests.""" import string import sys import pathlib import argparse # Add build_tools python dir to the search path. sys.path.insert(0, str(pathlib.Path(__file__).parent / ".." / "python")) import benchmark_suites.iree.benchmark_collections import e2e_model_tests.cmake_generator TEMPLATE_DIR = pathlib.Path(__file__).parent GENERATED_E2E_MODEL_TESTS_CMAKE_TEMPLATE = string.Template( (TEMPLATE_DIR / "generated_e2e_model_tests_template.cmake").read_text() ) def parse_arguments(): """Parses command-line options.""" parser = argparse.ArgumentParser() parser.add_argument( "--output", required=True, help="Path to write the generated cmake file." ) return parser.parse_args() def main(args: argparse.Namespace): (gen_configs, _) = benchmark_suites.iree.benchmark_collections.generate_benchmarks() cmake_rules = e2e_model_tests.cmake_generator.generate_rules( module_generation_configs=gen_configs ) output = GENERATED_E2E_MODEL_TESTS_CMAKE_TEMPLATE.substitute( __TEST_RULES="\n".join(cmake_rules) ) with open(args.output, "w") as output_file: output_file.write(output) if __name__ == "__main__": main(parse_arguments())