QtCreator faisl to build with Qbs support Reproducible: Always Steps to Reproduce: 1. USE-"qbs" emerge -1 dev-qt/qt-creator
Created attachment 394506 [details] build.log.xz
Any progress with this issue? Does upstream have a patch?
No, I haven't even begun looking at it.
Ok, the declarations are wrapped in: #ifdef QBS_ENABLE_PROJECT_FILE_UPDATES Normally this would be set by qbs:./src/lib/corelib/api/api.pri: qbs_enable_project_file_updates { […] DEFINES += QBS_ENABLE_PROJECT_FILE_UPDATES } qt-creator sets that in qtcreator.pro: exists(src/shared/qbs/qbs.pro) { !qbs_no_dev_install { QBS_CONFIG_ADDITION = […] qbs_enable_project_file_updates […] } } In qbs:./src/lib/corelib/corelib.qbs there seems to be another path to set the define: QbsLibrary { […] property stringList projectFileUpdateDefines: project.enableProjectFileUpdates ? ["QBS_ENABLE_PROJECT_FILE_UPDATES"] : [] […] } qt-creator also sets that in ./src/src.qbs: Project { […] Project { name: "qbs" id: qbsProject property string qbsBaseDir: project.sharedSourcesDir + "/qbs" […] property bool enableProjectFileUpdates: true […] } […] } These conditions are all still the same in current git master of qbs and qt-creator, so I assume there is no way to enable QBS_ENABLE_PROJECT_FILE_UPDATES for system-wide installations, maybe because it simply would not work. Further evidence: Neither corelib.qbs nor api.pri are installed by dev-qt/qbs-1.3.3, so there seems to be no way to enable the feature. So I see three possibilities: 1) Ask upstream wether QBS_ENABLE_PROJECT_FILE_UPDATES is supported for system-wide installations and if so to fix qt-creator to enable it for the qbs plugin. 2) Not unbundle qbs, which will automatically set QBS_ENABLE_PROJECT_FILE_UPDATES. 3) Disable USE=qbs.
4) None of the above. We just need to add 'CONFIG+=qbs_enable_project_file_updates' in qbs ebuild. Thanks for investigating.
(In reply to Davide Pesavento from comment #5) > We just need to add 'CONFIG+=qbs_enable_project_file_updates' in qbs ebuild. But the files which translate qbs_enable_project_file_updates to a preprocessor define do not seem to be installed by dev-qt/qbs-1.3.3 and are being deleted by the qt-creator-3.3.0 ebuild in src_prepare(). Am I missing something?
A little bit of information : see https://bugreports.qt.io/browse/QBS-565 To sum up, it seems that the qbs_enable_project_file_updates option was introduced in order to remove the dependency to QtGui (due to the use of QTextDocument) on computers that have no graphics server. And, by the way, Qbs doesn't depend on QtWidgets (check the ldd output with CONFIG+=qbs_enable_project_file_updates added to the QMake arguments).
I find, that makefile generates wrong - qbs project dosn't include in plugins/makefile
On no, my mistake
Thanks Dennis for investigating. >=dev-util/qbs-1.4.0 (just committed) now enables the project file updates API required by Qt Creator. >=dev-qt/qt-creator-3.4.0 has been updated to require the fixed version of qbs. So this should work as expected now. Please test and reopen if it does not.