mirror of
http://code.qt.io/yocto/meta-qt6.git
synced 2026-01-01 13:58:07 +00:00
Add support for mingw32 build
Add support for building nativesdk components with meta-mingw layer for Windows SDK. Skip some of the nativesdk tools as they cannot be built. Qt6Toolchain.cmake can be used with SDKPATH environment variable set to the SDK installation path using forward slashes as path separators. It depends on the nativesdk-cmake which cannot be built until upstream patches to meta-mingw are approved. Task-number: QTBUG-86431 Change-Id: I482f85f10461e77bb183cf763d6ef531b45e016a Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
This commit is contained in:
parent
18036b01dd
commit
08d101c2eb
|
|
@ -1,6 +1,12 @@
|
|||
inherit qt6-paths
|
||||
|
||||
create_sdk_files_prepend () {
|
||||
SDK_POSTPROCESS_COMMAND_prepend = "create_qt6_sdk_files;"
|
||||
|
||||
|
||||
PATH_DELIM = ":"
|
||||
PATH_DELIM_sdkmingw32 = ";"
|
||||
|
||||
create_qt6_sdk_files () {
|
||||
# Generate a qt.conf file to be deployed with the SDK
|
||||
qtconf=${SDK_OUTPUT}${SDKPATHNATIVE}${QT6_INSTALL_BINDIR}/qt.conf
|
||||
touch $qtconf
|
||||
|
|
@ -55,7 +61,7 @@ create_sdk_files_prepend () {
|
|||
|
||||
# Generate a toolchain file for using Qt without running setup-environment script
|
||||
cat > ${SDK_OUTPUT}${SDKPATHNATIVE}/usr/share/cmake/Qt6Toolchain.cmake <<EOF
|
||||
set(ENV{PATH} "${SDKPATHNATIVE}${bindir}/${TARGET_SYS}:\$ENV{PATH}")
|
||||
set(ENV{PATH} "${SDKPATHNATIVE}${bindir}/${TARGET_SYS}${PATH_DELIM}\$ENV{PATH}")
|
||||
set(ENV{CC} "${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${SDKTARGETSYSROOT}")
|
||||
set(ENV{CXX} "${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${SDKTARGETSYSROOT}")
|
||||
|
||||
|
|
@ -71,6 +77,11 @@ include("\${CMAKE_TOOLCHAIN_FILE}")
|
|||
EOF
|
||||
}
|
||||
|
||||
create_qt6_sdk_files_append_sdkmingw32() {
|
||||
sed -i -e 's|${SDKPATH}|$ENV{SDKPATH}|g' \
|
||||
${SDK_OUTPUT}${SDKPATHNATIVE}/usr/share/cmake/Qt6Toolchain.cmake
|
||||
}
|
||||
|
||||
# default debug prefix map isn't valid in the SDK
|
||||
DEBUG_PREFIX_MAP = ""
|
||||
SECURITY_CFLAGS = ""
|
||||
|
|
|
|||
|
|
@ -20,3 +20,9 @@ RDEPENDS_${PN} += " \
|
|||
nativesdk-qttools-tools \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'nativesdk-qtwayland-dev nativesdk-qtwayland-tools', '', d)} \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN}_remove_mingw32 = " \
|
||||
nativesdk-cmake \
|
||||
nativesdk-ninja \
|
||||
nativesdk-perl-modules \
|
||||
"
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@ python __anonymous() {
|
|||
INSANE_SKIP_${PN}-dbg += "libdir"
|
||||
INSANE_SKIP_${PN}-examples += "libdir"
|
||||
|
||||
SYSROOT_DIRS_append_mingw32 = " ${QT6_INSTALL_BINDIR}"
|
||||
|
||||
PACKAGES =. "${PN}-qmlplugins ${PN}-tools ${PN}-plugins ${PN}-examples "
|
||||
|
||||
ALLOW_EMPTY_${PN} = "1"
|
||||
|
|
@ -55,6 +57,11 @@ FILES_${PN}-plugins = " \
|
|||
${QT6_INSTALL_PLUGINSDIR}/*/*/*${SOLIBSDEV} \
|
||||
${QT6_INSTALL_PLUGINSDIR}/*/*/*/*${SOLIBSDEV} \
|
||||
"
|
||||
FILES_${PN}-plugins_mingw32 = " \
|
||||
${QT6_INSTALL_PLUGINSDIR}/*/*.dll \
|
||||
${QT6_INSTALL_PLUGINSDIR}/*/*/*.dll \
|
||||
${QT6_INSTALL_PLUGINSDIR}/*/*/*/*.dll \
|
||||
"
|
||||
|
||||
FILES_${PN} += " \
|
||||
${QT6_INSTALL_LIBDIR}/lib*${SOLIBS} \
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ do_install_append() {
|
|||
do_install_append_class-nativesdk() {
|
||||
install -d ${D}${datadir}/cmake/OEToolchainConfig.cmake.d
|
||||
cat > ${D}${datadir}/cmake/OEToolchainConfig.cmake.d/OEQt6Toolchain.cmake <<EOF
|
||||
set(QT_HOST_PATH "${prefix}" CACHE PATH "" FORCE)
|
||||
set(QT_HOST_PATH "\$ENV{OECORE_NATIVE_SYSROOT}/usr" CACHE PATH "" FORCE)
|
||||
set(QT_BUILD_TOOLS_WHEN_CROSSCOMPILING "TRUE" CACHE BOOL "" FORCE)
|
||||
EOF
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user