From 1dc408e27ed53f0767ac35e29734c61955a04b95 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Tue, 1 Mar 2016 18:25:10 +0200 Subject: qtquickcompiler: add support for BYOS builds Qt Quick Compiler sources codes are not released for customers, so they cannot build it for themselves. Instead copy qtquickcompiler binary from the SDK where we have both linux and mingw binaries available. Change-Id: I697885365d98df394164a15e2517c7c473ac91e5 Reviewed-by: Teemu Holappa --- classes/qtquickcompiler.bbclass | 25 +++++++----- recipes-qt/qt5-addons/qtquickcompiler-sdk.bb | 58 ++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 9 deletions(-) create mode 100644 recipes-qt/qt5-addons/qtquickcompiler-sdk.bb diff --git a/classes/qtquickcompiler.bbclass b/classes/qtquickcompiler.bbclass index 16fb6fe..b6710be 100644 --- a/classes/qtquickcompiler.bbclass +++ b/classes/qtquickcompiler.bbclass @@ -20,16 +20,23 @@ ############################################################################## python __anonymous() { + provider = "qtquickcompiler" + sdk_path = d.getVar('QT_SDK_PATH', True) or "" if len(sdk_path) != 0: - bb.note("TODO: QtQuickCompiler not yet available for external builds") - else: - pn = d.getVar("PN", True) - if "toolchain-host" in pn: - d.appendVar('RDEPENDS_' + pn, " nativesdk-qtquickcompiler-tools") - if "toolchain-target" in pn: - d.appendVar('RDEPENDS_' + pn, " qtquickcompiler-dev") + qtquickcompiler_path = d.getVar('B2QTBASE', True) + "/recipes-qt/qt5-addons/qtquickcompiler-sdk" + if not os.path.isdir(qtquickcompiler_path): + bb.note("QtQuickCompiler not available") + return else: - d.appendVar('DEPENDS', " qtquickcompiler qtquickcompiler-native") - d.appendVar('EXTRA_QMAKEVARS_PRE', " CONFIG+=qtquickcompiler CONFIG+=no_qtquickcompiler_depend") + provider = "qtquickcompiler-sdk" + + pn = d.getVar("PN", True) + if "toolchain-host" in pn: + d.appendVar('RDEPENDS_' + pn, " nativesdk-%s-tools" % provider) + if "toolchain-target" in pn: + d.appendVar('RDEPENDS_' + pn, " %s-dev" % provider) + else: + d.appendVar('DEPENDS', " %s %s-native" % (provider, provider)) + d.appendVar('EXTRA_QMAKEVARS_PRE', " CONFIG+=qtquickcompiler CONFIG+=no_qtquickcompiler_depend") } diff --git a/recipes-qt/qt5-addons/qtquickcompiler-sdk.bb b/recipes-qt/qt5-addons/qtquickcompiler-sdk.bb new file mode 100644 index 0000000..04a0b3a --- /dev/null +++ b/recipes-qt/qt5-addons/qtquickcompiler-sdk.bb @@ -0,0 +1,58 @@ +############################################################################## +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the Boot to Qt meta layer. +## +## $QT_BEGIN_LICENSE:COMM$ +## +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## $QT_END_LICENSE$ +## +############################################################################## + +DESCRIPTION = "Qt Quick Compiler using prebuilt binaries from Qt SDK" +LICENSE = "QtEnterprise" +LIC_FILES_CHKSUM = "file://${QT_LICENCE};md5=7bc9c54e450006250a60e96604c186c9" + +inherit allarch qmake5_paths + +DEPENDS = "qtbase" + +S = "${WORKDIR}" + +QT_VERSION = "5.6" + +NATIVESDK_BINARY = "qtquickcompiler" +NATIVESDK_BINARY_mingw32 = "qtquickcompiler.exe" + +do_install() { + install -d ${D}${OE_QMAKE_PATH_ARCHDATA}/mkspecs/features + install -m 0755 ${THISDIR}/qtquickcompiler-sdk/mkspecs/features/qtquickcompiler.prf ${D}${OE_QMAKE_PATH_ARCHDATA}/mkspecs/features + install -d ${D}${OE_QMAKE_PATH_ARCHDATA}/cmake/Qt5QuickCompiler + install -m 0644 ${THISDIR}/qtquickcompiler-sdk/lib/cmake/Qt5QuickCompiler/Qt5QuickCompilerConfig.cmake ${D}${OE_QMAKE_PATH_ARCHDATA}/cmake/Qt5QuickCompiler + + if [ "${PN}" = "qtquickcompiler-sdk-native" ]; then + install -d ${D}${OE_QMAKE_PATH_BINS} + install -m 0755 ${THISDIR}/qtquickcompiler-sdk/bin/qtquickcompiler ${D}${OE_QMAKE_PATH_BINS} + elif [ "${PN}" = "nativesdk-qtquickcompiler-sdk" ]; then + install -d ${D}${OE_QMAKE_PATH_BINS} + install -m 0755 ${THISDIR}/qtquickcompiler-sdk/bin/${NATIVESDK_BINARY} ${D}${OE_QMAKE_PATH_BINS} + fi +} + +INHIBIT_PACKAGE_STRIP = "1" +ALLOW_EMPTY_${PN} = "1" +PACKAGES =+ "${PN}-tools" +FILES_${PN}-tools = "${OE_QMAKE_PATH_BINS}" +FILES_${PN}-dev = "${OE_QMAKE_PATH_ARCHDATA}" + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf