meta-qt6/classes/qt6-cmake.bbclass
Samuli Piippo fb8e8e8dba qtbase-native: don't try to find tools
QT_BUILD_TOOLS_WHEN_CROSSCOMPILING triggered qtbase-native
to try to find tools from QT_HOST_PATH, which obviously
doesn't exists yet. Use it only for target and nativesdk
builds.

Fixes compilation failure:
 | -- Searching for tool 'Qt6::moc' in package Qt6CoreTools.
 | CMake Error at cmake/QtToolHelpers.cmake:122 (message):
 |   Neither QT_HOST_PATH_CMAKE_DIR nor Qt6HostInfo_DIR} available.

Change-Id: I260526c08f48f179049eb4b0ab3e6561958d0a53
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 3bb76773a8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2021-11-08 10:24:42 +00:00

42 lines
2.5 KiB
Plaintext

inherit cmake python3native perlnative qt6-paths
DEPENDS:prepend = "qtbase-native "
EXTRA_OECMAKE += "\
-DQT_CMAKE_DEBUG_EXTEND_TARGET=ON \
-DQT_BUILD_INTERNALS_NO_FORCE_SET_INSTALL_PREFIX=ON \
"
EXTRA_OECMAKE:append:class-target = "\
-DQT_HOST_PATH:PATH=${RECIPE_SYSROOT_NATIVE}/${prefix_native}/ \
-DQT_BUILD_TOOLS_WHEN_CROSSCOMPILING=ON \
"
EXTRA_OECMAKE:append:class-nativesdk = "\
-DQT_HOST_PATH:PATH=${RECIPE_SYSROOT_NATIVE}/${prefix_native}/ \
-DQT_BUILD_TOOLS_WHEN_CROSSCOMPILING=ON \
"
EXTRA_OECMAKE += "\
-DINSTALL_ARCHDATADIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_ARCHDATADIR'), d.getVar('prefix') + '/')} \
-DINSTALL_BINDIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_BINDIR'), d.getVar('prefix') + '/')} \
-DINSTALL_DATADIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_DATADIR'), d.getVar('prefix') + '/')} \
-DINSTALL_DESCRIPTIONSDIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_DESCRIPTIONSDIR'), d.getVar('prefix') + '/')} \
-DINSTALL_DOCDIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_DOCDIR'), d.getVar('prefix') + '/')} \
-DINSTALL_EXAMPLESDIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_EXAMPLESDIR'), d.getVar('prefix') + '/')} \
-DINSTALL_INCLUDEDIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_INCLUDEDIR'), d.getVar('prefix') + '/')} \
-DINSTALL_LIBDIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_LIBDIR'), d.getVar('prefix') + '/')} \
-DINSTALL_LIBEXECDIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_LIBEXECDIR'), d.getVar('prefix') + '/')} \
-DINSTALL_PLUGINSDIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_PLUGINSDIR'), d.getVar('prefix') + '/')} \
-DINSTALL_QMLDIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_QMLDIR'), d.getVar('prefix') + '/')} \
-DINSTALL_SYSCONFDIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_SYSCONFDIR'), d.getVar('prefix') + '/')} \
-DINSTALL_TESTSDIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_TESTSDIR'), d.getVar('prefix') + '/')} \
-DINSTALL_TRANSLATIONSDIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_TRANSLATIONSDIR'), d.getVar('prefix') + '/')} \
-DINSTALL_MKSPECSDIR:PATH=${@os.path.relpath(d.getVar('QT6_INSTALL_MKSPECSDIR'), d.getVar('prefix') + '/')} \
"
do_install:append() {
# Replace host paths with qmake built-in properties QTBUG-84725
find ${D} \( -name "*.pri" -or -name "*.prl" \) -exec \
sed -i -e 's|${STAGING_DIR_NATIVE}|$$[QT_HOST_PREFIX/get]|g' \
-e 's|${STAGING_DIR_HOST}|$$[QT_SYSROOT]|g' {} \;
}