QtWebKit as opt-in dependency? #6

KenjiTakahashi opened this Issue Feb 1, 2013 · 5 comments


None yet

2 participants


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
hluk commented Feb 1, 2013

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 :).

hluk commented Feb 5, 2013

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


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

hluk commented Feb 16, 2013

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 :).


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