KDAB / GammaRay

GammaRay is a tool to poke around in a Qt-application and also to manipulate the application to some extent.
https://www.kdab.com/gammaray
Other
1.62k stars 283 forks source link

Static builds without QT_CONFIG(library) #835

Open rokups opened 1 year ago

rokups commented 1 year ago

Hello,

I am trying to build the static probe for VxWorks, but it fails, because our Qt builds do not build with a "library" feature and as a result some APIs are missing. It is just a handful of locations, most of them seemingly can be isolated behind #if QT_CONFIG(library). There are some that are less clear, however. Below is the list of less-clear places:

Function QStringList pluginPaths(const QString &probeABI). Fails to build because QCoreApplication::libraryPaths() is not available. I guess loop in question could be #ifdef'ed out.

Function QStringList targetPluginPaths(const QString &probeABI). Same as above.

Constructor PluginInfo::PluginInfo(const QString &path). QLibrary is not available. Not sure what to do here.

Function void PluginInfo::initFromJSON(const QString &path). Only static plugin info is available. Not sure how this should be handled either.

Function void Probe::showInProcessUi(). QLibrary is once again not available. For most static probe usecases #ifdefing this out should work (for running probe on app instance on remote/embedded device). Not sure if there is anything else to do here.

Function void ProxyFactoryBase::loadPlugin(). Seems like we can safely ignore non-static plugin path here.

I would submit a pull request if anyone was kind enough to clarify what is the most appropriate action at all these code places.

Thanks!

Waqar144 commented 1 year ago

I would submit a pull request if anyone was kind enough to clarify what is the most appropriate action at all these code places.

I guess it would be best to discuss this in the PR. If'defing out is okay, we do that for some other things