summaryrefslogtreecommitdiff
path: root/recipes-devtools/cmake/cmake/cmake-setup.py
diff options
context:
space:
mode:
authorMykola Salomatin <mykola.salomatin@globallogic.com>2023-01-26 19:30:38 +0200
committerMykola Salomatin <mykola.salomatin@globallogic.com>2023-01-26 19:30:38 +0200
commit8b2c5033c01df17ce1bed9489570a5e56e3be862 (patch)
tree8a7abda338d1c144e904cd54e6ab99322119969e /recipes-devtools/cmake/cmake/cmake-setup.py
parente77d906d6f9d0da38ab5faff8b2a11a4383650de (diff)
parent755c00a4dfc34c95640e832ca8cafb71a7d356aa (diff)
downloadmeta-mlinux-8b2c5033c01df17ce1bed9489570a5e56e3be862.tar.gz
meta-mlinux-8b2c5033c01df17ce1bed9489570a5e56e3be862.tar.bz2
meta-mlinux-8b2c5033c01df17ce1bed9489570a5e56e3be862.zip
Merge branch '6' into mpower-dev-l6g1
Diffstat (limited to 'recipes-devtools/cmake/cmake/cmake-setup.py')
-rwxr-xr-xrecipes-devtools/cmake/cmake/cmake-setup.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/recipes-devtools/cmake/cmake/cmake-setup.py b/recipes-devtools/cmake/cmake/cmake-setup.py
new file mode 100755
index 0000000..af587a4
--- /dev/null
+++ b/recipes-devtools/cmake/cmake/cmake-setup.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python3
+
+import os
+import string
+import sys
+
+class Template(string.Template):
+ delimiter = "@"
+
+class Environ():
+ def __getitem__(self, name):
+ if name == "OECORE_SDK_SYS":
+ return os.path.basename(os.environ["OECORE_NATIVE_SYSROOT"])
+ elif name == "OECORE_TARGET_SYS":
+ return os.path.basename(os.environ["OECORE_TARGET_SYSROOT"])
+ elif name == "OECORE_TARGET_ALIAS":
+ return os.path.basename(os.environ["TARGET_PREFIX"].strip("-"))
+ else:
+ return os.environ[name]
+
+try:
+ sysroot = os.environ['OECORE_NATIVE_SYSROOT']
+except KeyError:
+ print("Not in environment setup, bailing")
+ sys.exit(1)
+
+template_file = os.path.join(sysroot, 'usr/share/cmake/SDKToolchainConfig.cmake.template')
+cross_file = os.path.join(sysroot, 'usr/share/cmake/%s-toolchain.cmake' % (os.path.basename(os.environ["OECORE_TARGET_SYSROOT"])))
+with open(template_file) as in_file:
+ template = in_file.read()
+ output = Template(template).substitute(Environ())
+ with open(cross_file, "w") as out_file:
+ out_file.write(output)