diff options
author | Tuomas Heimonen <tuomas.heimonen@qt.io> | 2018-08-14 10:29:17 +0300 |
---|---|---|
committer | Tuomas Heimonen <tuomas.heimonen@qt.io> | 2018-09-10 06:57:20 +0000 |
commit | a0d9fb33f8475336fbdebdbab803f43c7b9107d4 (patch) | |
tree | b89aa693d917976736a52dea805e91ad41afd7e2 | |
parent | 8f8722d36a1341c08c86c4357da8f398cc31e771 (diff) |
configure-qtcreator: Add CMake support for QtCreator
Add CMake tool to QtCreator configure script
Task-number: QTPM-766
Change-Id: I1105284c532fc872cb622781ef1b3ab8b02a478d
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
-rw-r--r-- | meta-boot2qt/classes/populate_b2qt_qt5_sdk.bbclass | 11 | ||||
-rwxr-xr-x | meta-boot2qt/files/configure-qtcreator.sh | 12 |
2 files changed, 22 insertions, 1 deletions
diff --git a/meta-boot2qt/classes/populate_b2qt_qt5_sdk.bbclass b/meta-boot2qt/classes/populate_b2qt_qt5_sdk.bbclass index e98565c1..ee1a25fe 100644 --- a/meta-boot2qt/classes/populate_b2qt_qt5_sdk.bbclass +++ b/meta-boot2qt/classes/populate_b2qt_qt5_sdk.bbclass @@ -34,6 +34,7 @@ NATIVE_SDK_MKSPEC_DIR = "${SDK_OUTPUT}${SDKPATHNATIVE}${libdir}/${QT_DIR_NAME}/m SDK_MKSPEC = "devices/linux-oe-generic-g++" SDK_DEVICE_PRI = "${SDK_MKSPEC_DIR}/qdevice.pri" SDK_DYNAMIC_FLAGS = "-O. -pipe -g" +MACHINE_CMAKE = "${SDK_OUTPUT}${SDKPATHNATIVE}${datadir}/cmake/OEToolchainConfig.cmake.d/${MACHINE}.cmake" create_sdk_files_append () { # Create the toolchain user's generic device mkspec @@ -79,6 +80,16 @@ EOF # Link /etc/resolv.conf is broken in the toolchain sysroot, remove it rm -f ${SDK_OUTPUT}${SDKTARGETSYSROOT}${sysconfdir}/resolv.conf + + # Create and add cmake toolchain file + echo "set(CMAKE_SYSROOT ${SDKTARGETSYSROOT})" > ${MACHINE_CMAKE} + echo "set(CMAKE_PREFIX_PATH ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_LIBS}/cmake)" >> ${MACHINE_CMAKE} + echo "set(compiler_flags \"${TARGET_CC_ARCH}\")" >> ${MACHINE_CMAKE} + echo "set(CMAKE_C_COMPILER_ARG1 \"\${compiler_flags}\")" >> ${MACHINE_CMAKE} + echo "set(CMAKE_CXX_COMPILER_ARG1 \"\${compiler_flags}\")" >> ${MACHINE_CMAKE} + echo "set(OE_QMAKE_PATH_EXTERNAL_HOST_BINS ${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS})" >> ${MACHINE_CMAKE} + mkdir -p ${D}${datadir}/cmake/OEToolchainConfig.cmake.d/ + install -m 0644 ${MACHINE_CMAKE} ${D}${datadir}/cmake/OEToolchainConfig.cmake.d/ } create_qtcreator_configure_script () { diff --git a/meta-boot2qt/files/configure-qtcreator.sh b/meta-boot2qt/files/configure-qtcreator.sh index 105e4760..3e5db2d1 100755 --- a/meta-boot2qt/files/configure-qtcreator.sh +++ b/meta-boot2qt/files/configure-qtcreator.sh @@ -100,6 +100,7 @@ ${SDKTOOL} rmQt --id ${BASEID}.qt || true ${SDKTOOL} rmTC --id ProjectExplorer.ToolChain.Gcc:${BASEID}.gcc || true ${SDKTOOL} rmTC --id ProjectExplorer.ToolChain.Gcc:${BASEID}.g++ || true ${SDKTOOL} rmDebugger --id ${BASEID}.gdb 2>/dev/null || true +${SDKTOOL} rmCMake --id ${BASEID}.cmake 2>/dev/null || true if [ -n "${REMOVEONLY}" ]; then echo "Kit removed: ${NAME}" @@ -133,6 +134,11 @@ ${SDKTOOL} addQt \ --type "Qdb.EmbeddedLinuxQt" \ --qmake "$(type -p qmake)" +${SDKTOOL} addCMake \ + --id "${BASEID}.cmake" \ + --name "CMake ${NAME}" \ + --path "$(type -p cmake)" + ${SDKTOOL} addKit \ --id "${BASEID}.kit" \ --name "${NAME}" \ @@ -143,6 +149,10 @@ ${SDKTOOL} addKit \ --Ctoolchain "ProjectExplorer.ToolChain.Gcc:${BASEID}.gcc" \ --Cxxtoolchain "ProjectExplorer.ToolChain.Gcc:${BASEID}.g++" \ --icon ":/boot2qt/images/B2Qt_QtC_icon.png" \ - --mkspec "${MKSPEC}" + --mkspec "${MKSPEC}" \ + --cmake "${BASEID}.cmake" \ + --cmake-config "CMAKE_TOOLCHAIN_FILE:FILEPATH=${OECORE_NATIVE_SYSROOT}/usr/share/cmake/OEToolchainConfig.cmake" \ + --cmake-config "CMAKE_CXX_COMPILER:FILEPATH=$(type -p ${CXX})" \ + --cmake-config "CMAKE_C_COMPILER:FILEPATH=$(type -p ${CC})" echo "Configured Qt Creator with new kit: ${NAME}" |