From 3bf89974cee602602d98769010d79db2af5d6154 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Tue, 2 Feb 2016 15:00:29 +0200 Subject: Include configure-qtcreator.sh script in the toolchain ABI and default CONFIG file are set during build, so the script can be called from installed toolchain without any arguments. Change-Id: I533d79864133822f0ea86a39b8c9549280db4c38 Reviewed-by: Teemu Holappa --- classes/populate_b2qt_qt5_sdk.bbclass | 12 +++++++++ conf/layer.conf | 1 + scripts/configure-qtcreator.sh | 51 ++++++++++++++++++----------------- 3 files changed, 40 insertions(+), 24 deletions(-) diff --git a/classes/populate_b2qt_qt5_sdk.bbclass b/classes/populate_b2qt_qt5_sdk.bbclass index 78ad457..8a14084 100644 --- a/classes/populate_b2qt_qt5_sdk.bbclass +++ b/classes/populate_b2qt_qt5_sdk.bbclass @@ -58,4 +58,16 @@ EOF qtconf=${SDK_OUTPUT}/${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}/qt.conf echo 'HostSpec = linux-g++' >> $qtconf echo 'TargetSpec = devices/linux-oe-generic-g++' >> $qtconf + + create_qtcreator_configure_script +} + +create_qtcreator_configure_script () { + # add qtcreator configuration script + install -m 0755 ${B2QTBASE}/scripts/configure-qtcreator.sh ${SDK_OUTPUT}/${SDKPATH} + sed -i -e '/^CONFIG=/c\CONFIG="${SDKPATH}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}"' ${SDK_OUTPUT}/${SDKPATH}/configure-qtcreator.sh + sed -i -e '/^ABI=/c\ABI="${ARCH}-linux-generic-elf-${SITEINFO_BITS}bit"' ${SDK_OUTPUT}/${SDKPATH}/configure-qtcreator.sh +} + +create_qtcreator_configure_script_mingw32 () { } diff --git a/conf/layer.conf b/conf/layer.conf index 404957f..0c0468b 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -35,3 +35,4 @@ BBFILE_PRIORITY_b2qt = "20" LICENSE_PATH += "${LAYERDIR}/licenses" QT_LICENCE = "${LAYERDIR}/licenses/QtEnterprise" +B2QTBASE = "${LAYERDIR}" diff --git a/scripts/configure-qtcreator.sh b/scripts/configure-qtcreator.sh index 7661297..526d86f 100755 --- a/scripts/configure-qtcreator.sh +++ b/scripts/configure-qtcreator.sh @@ -23,31 +23,35 @@ set -e -MKSPEC="devices/linux-oe-generic-g++" ABI="arm-linux-generic-elf-32bit" -### TBD: detect ABI +CONFIG="" printUsage () { - echo "Usage: $0 [--remove] [--sdktool ]" + echo "Usage: $0 --config [--remove] [--qtcreator ] [--name ]" } while test -n "$1"; do case "$1" in - "--help" | "-h") - printUsage - exit 0 - ;; "--remove") REMOVEONLY=1 ;; - "--sdktool") + "--qtcreator") shift - SDKTOOL=$1 + QTCREATOR=$1 ;; - *) + "--config") + shift CONFIG=$1 ;; + "--name") + shift + NAME=$1 + ;; + *) + printUsage + exit 0 + ;; esac shift done @@ -57,16 +61,20 @@ if [ ! -f "$CONFIG" ]; then exit 1 fi -if [ -z "${SDKTOOL}" ]; then - SDKTOOL="${HOME}/Qt/Tools/QtCreator/bin/sdktool" +if [ -z "${QTCREATOR}" ]; then + SDKTOOL="${HOME}/Qt/Tools/QtCreator/libexec/qtcreator/sdktool" +else + SDKTOOL="${QTCREATOR}/libexec/qtcreator/sdktool" fi if [ ! -x ${SDKTOOL} ]; then - echo "Cannot find 'sdktool'" + echo "Cannot find 'sdktool' from QtCreator" + printUsage exit 1 fi source $CONFIG +MKSPEC="devices/linux-oe-generic-g++" MKSPECPATH=$(find ${OECORE_TARGET_SYSROOT} -name $(basename ${MKSPEC})) if [ ! -d "${MKSPECPATH}" ]; then echo "Error: could not find mkspec ${MKSPEC} from the toolchain" @@ -77,37 +85,33 @@ MACHINE=$(grep '^MACHINE' ${MKSPECPATH}/../../qdevice.pri | cut -d'=' -f2 | tr - RELEASE=$(qmake -query QT_VERSION) +NAME=${NAME:-"Custom Qt ${RELEASE} ${MACHINE}"} BASEID="byos.${RELEASE}.${MACHINE}" -BASENAME="Custom Qt Embedded" -TOOLCHAINNAME="GCC (${BASENAME} ${RELEASE} ${MACHINE})" -QTNAME="${BASENAME} ${RELEASE} ${MACHINE}" -KITNAME="${BASENAME} ${RELEASE} ${MACHINE} Kit" - ${SDKTOOL} rmKit --id ${BASEID}.kit 2>/dev/null || true ${SDKTOOL} rmQt --id ${BASEID}.qt || true ${SDKTOOL} rmTC --id ProjectExplorer.ToolChain.Gcc:${BASEID}.tc || true if [ -n "${REMOVEONLY}" ]; then - echo "Kit removed: ${KITNAME}" + echo "Kit removed: ${NAME}" exit 0 fi ${SDKTOOL} addTC \ --id "ProjectExplorer.ToolChain.Gcc:${BASEID}.tc" \ - --name "${TOOLCHAINNAME}" \ + --name "GCC (${NAME})" \ --path "$(type -p ${OE_QMAKE_CXX})" \ --abi "${ABI}" ${SDKTOOL} addQt \ --id "${BASEID}.qt" \ - --name "${QTNAME}" \ + --name "${NAME}" \ --type "Boot2Qt.QtVersionType" \ --qmake "$(type -p qmake)" ${SDKTOOL} addKit \ --id "${BASEID}.kit" \ - --name "${KITNAME}" \ + --name "${NAME}" \ --qt "${BASEID}.qt" \ --debuggerengine "1" \ --debugger "$(type -p ${GDB})" \ @@ -117,5 +121,4 @@ ${SDKTOOL} addKit \ --icon ":/boot2qt/images/B2Qt_QtC_icon.png" \ --mkspec "${MKSPEC}" -echo "Configured Qt Creator with new kit:" -echo " ${KITNAME}" +echo "Configured Qt Creator with new kit: ${NAME}" -- cgit v1.2.3-54-g00ecf