64 lines
1.8 KiB
Python
Executable File
64 lines
1.8 KiB
Python
Executable File
"""
|
|
Copyright (C) 2024 Intel Corporation
|
|
|
|
SPDX-License-Identifier: MIT
|
|
|
|
"""
|
|
import os
|
|
import re
|
|
import util
|
|
import argparse
|
|
|
|
templates_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), "templates/checker/")
|
|
|
|
"""
|
|
generates checker files from the templates
|
|
"""
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("name", type=str, help="Name of your Validation Layer checker in the form of 'CheckerName'.")
|
|
parser.add_argument("out_dir", type=str, help="Root of the loader repository.")
|
|
args = parser.parse_args()
|
|
name = args.name
|
|
env_name = name.upper()
|
|
srcpath = os.path.join(args.out_dir, "source/layers/validation/checkers/")
|
|
srcpath = os.path.join(srcpath, name)
|
|
if not os.path.exists(srcpath):
|
|
os.makedirs(srcpath)
|
|
print("Generating Checker Template for %s\n" %(name))
|
|
loc = 0
|
|
template = "template.h.mako"
|
|
fin = os.path.join(templates_dir, template)
|
|
|
|
filename = "zel_%s_checker.h"%(name)
|
|
fout = os.path.join(srcpath, filename)
|
|
|
|
print("Generating %s..."%fout)
|
|
loc += util.makoWrite(
|
|
fin, fout,
|
|
name=name)
|
|
|
|
template = "template.cpp.mako"
|
|
fin = os.path.join(templates_dir, template)
|
|
|
|
filename = "zel_%s_checker.cpp"%(name)
|
|
fout = os.path.join(srcpath, filename)
|
|
|
|
print("Generating %s..."%fout)
|
|
loc += util.makoWrite(
|
|
fin, fout,
|
|
name=name,
|
|
env_name=env_name)
|
|
|
|
template = "template.cmake.mako"
|
|
fin = os.path.join(templates_dir, template)
|
|
|
|
filename = "CMakeLists.txt"
|
|
fout = os.path.join(srcpath, filename)
|
|
|
|
print("Generating %s..."%fout)
|
|
loc += util.makoWrite(
|
|
fin, fout,
|
|
name=name,
|
|
TARGET_NAME="${TARGET_NAME}",
|
|
CMAKE_CURRENT_LIST_DIR="${CMAKE_CURRENT_LIST_DIR}") |