Important: Please read the Qt Code of Conduct -

Handling external dependencies in qt

  • Hello, I have a basic general question about dealing with external dependencies in qt.
    I am building a cross platform app and would like to include SFML, which is also cross platform. While it is easy enough to include the libraries manually in qt for one platform, I was wondering how most big cross platform apps handel with dealing with stuff like this. I could include the compiled libs and DLL's and .so for every platform in my project's git repo, bit that doesn't see feasible or desirable to put up so many binaries. I would really appreciate of anyone had any advice for me, preferably a way without needing every developer to manually edit the .pro file to add in a dependency . thanks for all of the help!

    Please no responses saying who needs sfml when you have qt, I was looking for a general answer for how to Handel a situation like this. :)

  • Moderators

    There are many philosophies here. I won't say which one is best (although I do, of course, have my own opinion on this), just list some off the top of my head:

    No binaries in git, no external binaries. The repo contains source code only and every build will also compile dependencies. This is least error-prone, but obviously building will consume a lot of time

    No binaries in git, external binaries. Store binaries in a separate repository (git, SVN or even a Samba share). In your code, link to the location of your binary repository. This requires a lot of discipline (so that the paths do not break over time), but is quite easy to setup and compilation will sure be faster

    Store binaries in git. Quick and dirty way, but it also works. The size of git repo is likely to grow very fast in this scenario

Log in to reply