Skip to content
This repository

QtWebKit as opt-in dependency? #6

Closed
KenjiTakahashi opened this Issue · 5 comments

2 participants

Karol Woźniak Lukas Holecek
Karol Woźniak

In connection with #5:
Is there any way to link to QtWebKit at runtime?
I'd like to make it an optional dependency, but telling the user who just compiled the app to install something and compile it again doesn't seem like a good solution.

BTW: Just checked and it seems that CopyQ (1.6.0) doesn't compile at all without QtWebKit:

In file included from /tmp/yaourt-tmp-root/aur-copyq/src/CopyQ-1.6.0/src/itemweb.cpp:22:0:
/tmp/yaourt-tmp-root/aur-copyq/src/CopyQ-1.6.0/src/include/itemweb.h:25:29: fatal error: QtWebKit/QWebView: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/copyq.dir/src/itemweb.cpp.o] Error 1
make[1]: *** [CMakeFiles/copyq.dir/all] Error 2
make: *** [all] Error 2
Lukas Holecek
Owner

Oh, you're right I made a mistake when writing detection for QtWebKit in cmake. It will be fixed in release after 1.6.1.

Run-time detection would be really good but for that I would have to implement some kind of plugin system. I'll to think about it but don't expect results any time soon :).

Lukas Holecek
Owner

The build issue is fixed in 1.6.2 release -- i.e. if QtWebKit library is not found the application compiles without it.

Karol Woźniak

Thanks, that's one thing sorted out :).

Lukas Holecek
Owner

Plugins are done! With just "cmake . && make" you can automatically build app and all plugins.

So now you can also build all plugins except the one which depends on QtWebKit with:

cmake -DWITH_WEBKIT=0 .
make # build app and plugins except "itemweb" plugin
make install # installs /usr/local/bin/copyq and /usr/local/lib/copyq/plugins/*

To build and install just the "itemweb" plugin (which depends on QtWebKit) do:

cmake .
make itemweb
sudo install plugins/libitemweb.so /usr/local/lib/copyq/plugins/ # copy the compiled plugin to install prefix

Well, that would mean you'll have to maintain one more package ... sorry :).

Karol Woźniak

I can live with that :).
Thanks again for your work and I think it can be closed now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.