xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/cmake/cmake/cmake-setup.py (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#!/usr/bin/env python3
2
3import os
4import string
5import sys
6
7class Template(string.Template):
8    delimiter = "@"
9
10class Environ():
11    def __getitem__(self, name):
12        if name == "OECORE_SDK_SYS":
13            return  os.path.basename(os.environ["OECORE_NATIVE_SYSROOT"])
14        elif name == "OECORE_TARGET_SYS":
15            return  os.path.basename(os.environ["OECORE_TARGET_SYSROOT"])
16        elif name == "OECORE_TARGET_ALIAS":
17            return  os.path.basename(os.environ["TARGET_PREFIX"].strip("-"))
18        else:
19            return  os.environ[name]
20
21try:
22    sysroot = os.environ['OECORE_NATIVE_SYSROOT']
23except KeyError:
24    print("Not in environment setup, bailing")
25    sys.exit(1)
26
27template_file = os.path.join(sysroot, 'usr/share/cmake/SDKToolchainConfig.cmake.template')
28cross_file = os.path.join(sysroot, 'usr/share/cmake/%s-toolchain.cmake' % (os.path.basename(os.environ["OECORE_TARGET_SYSROOT"])))
29with open(template_file) as in_file:
30    template = in_file.read()
31    output = Template(template).substitute(Environ())
32    with open(cross_file, "w") as out_file:
33        out_file.write(output)
34