summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-devtools/cmake
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2022-04-02 16:58:32 +0300
committerPatrick Williams <patrick@stwcx.xyz>2022-04-04 20:54:11 +0300
commit45852739b8823d99a818e714b72961886759fe2e (patch)
tree92fc4d26b025440bff29a7b0cbf204c7f5cca151 /poky/meta/recipes-devtools/cmake
parente9c4c65544ebd9f2c5772936c9fe0552d5e6d5b0 (diff)
downloadopenbmc-45852739b8823d99a818e714b72961886759fe2e.tar.xz
subtree updates
meta-openembedded: 9a52bfc4a6..af11f6ce73: Andreas Müller (4): nautilus: Add a packageconfig for libportal - disabled by default gtk4: upgrade 4.4.0 -> 4.6.2 libadwaita: initial add 1.1.0 gtksourceview5: upgrade 5.2.0 -> 5.4.0 Carlos Rafael Giani (3): libopenmpt: Remove unnecessary python code block pipewire: Upgrade to version 0.3.49 wireplumber: Upgrade to version 0.4.9 Kai Kang (4): wxwidgets: 3.1.4 -> 3.1.5 python3-wxgtk4: add recipe wxwidgets: fix typo mcelog: fix compile error Khem Raj (1): python3-wxgtk4: Use cross prefix with native wx-config Matthias Klein (1): paho-mqtt-c: upgrade 1.3.9 -> 1.3.10 Mingli Yu (1): mariadb: increase MY_AES_CTX_SIZE Potin Lai (4): libimobiledevice-glue: add recipe libimobiledevice-glue: fix undefined bswap error libirecovery: add recipe idevicerestore: add recipe S. Lockwood-Childs (1): python3-evdev: fix host header contamination Yi Zhao (2): strongswan: 5.9.4 -> 5.9.5 libnetfilter-conntrack: upgrade 1.0.8 -> 1.0.9 meta-raspberrypi: c06ae5eacf..31c33d155c: Khem Raj (3): linux-raspberrypi_5.15.bb: Upgrade to 5.15.32 raspberrypi-firmware: Update to match 5.15.32 armstubs: Upgrade to 20211101 poky: 5fe3689f4f..1976521190: Chen Qi (1): gobject-introspection: fix default search path for girdir Daniel Ammann (2): overview-manual: Fix reference ref-manual: Add vfat in list of filesystems supported by kickstart Jagadeesh Krishnanjanappa (1): cmake: support to create per-toolchain cmake file in SDK Khem Raj (2): weston: Add a knob to control simple clients meson: Robustify compiler detection logic Marta Rybczynska (1): doc: migration-3.5: extend the section on inclusive language Michael Halstead (1): releases: update to include 3.4.3 Michael Opdenacker (4): overview-manual: add missing upper case docs: add poky.yaml and sphinx-static/switchers.js to "make clean" manuals: fix quoting of double dashes migration-guides: preliminary description for 3.5 Oleksandr Kravchuk (1): python3: update to 3.10.4 Peter Kjellerstedt (1): ref-manual: Remove references to AVAILABLE_LICENSES Rasmus Villemoes (1): git: make expat and curl into PACKAGECONFIG items Richard Purdie (11): set_versions/switchers: Drop versions shown to the active releases mirrors: Add missing gitsm entries for yocto/oe mirrors base: Don't add duplicates to sys.path base: Clean up module import compatibility code modutils-initscripts: Change license PD -> MIT keymaps: Clean up license handling initscripts: Clean up license handling/identifiers bitbake: cooker: Further fixes to inotify to fix memres bitbake issues bitbake: cooker: Restore sys.path and sys.modules between parses bitbake: cooker: Ensure any existing hashserv connection is closed bitbake: cooker: Avoid error if siggen wasn't setup Ross Burton (24): ref-manual: update Python class documentation buildtools-tarball: include nativesdk-python3-pyyaml image_types: hddimg and iso only work on x86 oeqa/selftest/devtool: ensure Git username is set before upgrade tests oeqa/selftest/wic: use os.rename instead of bb.utils.rename oeqa/selftest/wic: remove redundant asserts oeqa/selftest/wic: clean up only_for_arch decorator oeqa/selftest/wic: don't hardcode kernel image type in test_wic_rm oeqa/selftest/wic: add more arch-specific annotations oeqa/selftest/buildoptions: set PACKAGE_CLASSES in test_arch_work_dir_and_export_source oeqa/runtime/decorator/package.py: remove use of strToSet oeqa/core/decorator: remove redundant code testimage: inline updateTestData() oeqa/core/utils/misc: remove redundant file oeqa/selftest: remove unused imports oeqa/core/decorators/data: improve has_* logic oeqa/selftest: tag tests that use runqemu oeqa: rationalise skipifqemu decorators oeqa/selftest/oescripts: refactor skipping logic oeqa/selftest/wic: cleanup WicTestCase.setUpLocal oeqa/selftest/wic: rearrange tests oeqa/selftest/wic: use os.path.join to join paths oeqa/selftest/wic: use self.td instead of get_bb_var to save on bitbake calls oeqa/selftest: generalise test_devtool_virtual_kernel_modify Simon Kuhnle (1): convert-variable-renames: Fix typo in description Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ic8359fe5772351a45a3154c6a7f5042a88ff934c
Diffstat (limited to 'poky/meta/recipes-devtools/cmake')
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/SDKToolchainConfig.cmake.template31
-rwxr-xr-xpoky/meta/recipes-devtools/cmake/cmake/cmake-setup.py33
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake_3.22.3.bb7
3 files changed, 71 insertions, 0 deletions
diff --git a/poky/meta/recipes-devtools/cmake/cmake/SDKToolchainConfig.cmake.template b/poky/meta/recipes-devtools/cmake/cmake/SDKToolchainConfig.cmake.template
new file mode 100644
index 0000000000..c69569a843
--- /dev/null
+++ b/poky/meta/recipes-devtools/cmake/cmake/SDKToolchainConfig.cmake.template
@@ -0,0 +1,31 @@
+set(SDK_INSTALL_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../../..")
+set(HOST_SYSROOT "${SDK_INSTALL_DIR}/sysroots/@OECORE_SDK_SYS")
+set(TARGET_SYSROOT "${SDK_INSTALL_DIR}/sysroots/@OECORE_TARGET_SYS")
+set(HOST_BIN "${HOST_SYSROOT}/usr/bin")
+set(TOOLCHAIN_NAME "@OECORE_TARGET_ALIAS")
+set(GCC_DIR "${HOST_BIN}/${TOOLCHAIN_NAME}")
+
+set(CMAKE_SYSTEM_NAME Linux)
+set(CMAKE_SYSTEM_PROCESSOR "@OECORE_TARGET_ARCH")
+
+set(CMAKE_C_COMPILER "${GCC_DIR}/${TOOLCHAIN_NAME}-gcc")
+set(CMAKE_CXX_COMPILER "${GCC_DIR}/${TOOLCHAIN_NAME}-g++")
+
+set(ARCH_FLAGS "@OECORE_TUNE_CCARGS")
+set(CMAKE_C_FLAGS "${ARCH_FLAGS}" CACHE STRING "" FORCE )
+set(CMAKE_CXX_FLAGS "${ARCH_FLAGS}" CACHE STRING "" FORCE )
+set(CMAKE_ASM_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "" FORCE )
+set(CMAKE_LDFLAGS_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "" FORCE )
+
+set(CMAKE_SYSROOT "${TARGET_SYSROOT}")
+
+set(CMAKE_FIND_ROOT_PATH "${TARGET_SYSROOT}" )
+
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
+set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY )
+
+set(CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX "")
+
+set(CMAKE_PROGRAM_PATH "${HOST_SYSROOT}/usr/bin" CACHE STRING "" FORCE)
diff --git a/poky/meta/recipes-devtools/cmake/cmake/cmake-setup.py b/poky/meta/recipes-devtools/cmake/cmake/cmake-setup.py
new file mode 100755
index 0000000000..af587a44cc
--- /dev/null
+++ b/poky/meta/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)
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.22.3.bb b/poky/meta/recipes-devtools/cmake/cmake_3.22.3.bb
index 36c6357dd8..e111dd3c5a 100644
--- a/poky/meta/recipes-devtools/cmake/cmake_3.22.3.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake_3.22.3.bb
@@ -6,6 +6,8 @@ DEPENDS += "curl expat zlib libarchive xz ncurses bzip2"
SRC_URI:append:class-nativesdk = " \
file://OEToolchainConfig.cmake \
+ file://SDKToolchainConfig.cmake.template \
+ file://cmake-setup.py \
file://environment.d-cmake.sh \
file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \
"
@@ -42,6 +44,11 @@ do_install:append:class-nativesdk() {
mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh
+
+ # install cmake-setup.py to create arch-specific toolchain cmake file from template
+ install -m 0644 ${WORKDIR}/SDKToolchainConfig.cmake.template ${D}${datadir}/cmake/
+ install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
+ install -m 0755 ${WORKDIR}/cmake-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
}
FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}"