summaryrefslogtreecommitdiff
path: root/recipes-devtools/cmake/cmake/cmake-setup.py
diff options
context:
space:
mode:
authorjeff <jhatch@multitech.com>2023-01-24 09:37:57 -0600
committerjeff <jhatch@multitech.com>2023-01-24 09:37:57 -0600
commitc94c9986362ebf4084734a3963415c5d894cf3a6 (patch)
tree1f5d79df115e23318d93bfc9e99dddecf9be8748 /recipes-devtools/cmake/cmake/cmake-setup.py
parent8400520cffdd3c133c684eac60ab438a7ecaa050 (diff)
parent2eaa3fd064097eb221b56d5df0e7136ba705a0cd (diff)
downloadmeta-mlinux-c94c9986362ebf4084734a3963415c5d894cf3a6.tar.gz
meta-mlinux-c94c9986362ebf4084734a3963415c5d894cf3a6.tar.bz2
meta-mlinux-c94c9986362ebf4084734a3963415c5d894cf3a6.zip
Merge branch 'md/cve-fixes2-squashed' into 6
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)