-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
integrating 3rd party library updates into CMake/CI #332
Comments
Since none of us have access to SCCN's ftp anymore, it is time to move away from that. Github releases looks like it will work to me: https://help.github.com/articles/distributing-large-binaries/ https://help.github.com/articles/about-releases/ If that isn't good enough, I'd go to Amazon file hosting next. If there is a cost, I could take care of it. |
If you're talking about storage, this is one of the great benefits of separating the repos. If you're talking about how to get CMake to download them, that's also pretty easy to do. Then you have several ways to trigger that target.
|
Thanks for the details. I think before I start implementing anything, we
should establish a consensus on what constitutes best practices in this
regard.
As for the split up super-repo, getting this finalized (and by that I
mean, up-to-date and workable in a local checkout) is another nice
project for the workshop.
…On 08/10/2018 04:22 PM, Chadwick Boulay wrote:
If you're talking about storage, this is one of the great benefits of
separating the repos.
https://github.com/labstreaminglayer/App-BrainProducts/
Create a release, then you can attach binaries in the release. This is
outlined in the link from Matthew.
If you're talking about how to get CMake to download them, that's also
pretty easy to do.
Use cmake |ExternalProject_Add|
<https://cmake.org/cmake/help/latest/module/ExternalProject.html> to
create a target.
Then you have several ways to trigger that target.
* You can trigger its download during configure (see here
<https://stackoverflow.com/questions/37553280/how-to-build-cmake-externalproject-while-configurating-main-one>.
* You can make your real target dependent on it using
|add_dependencies(${target} ${ext_name})| which will cause the
external target to be executed (download, build if necessary)
during the build phase of the ${target}.
o You will have to tell developers to first attempt to build the
executable to download the headers they need for proper
development.
* You can create a new target called something like "get-deps" that
depends on the external target, then tell users to first call
|cmake --build . --target get-deps| (or use the IDE equivalent of
right-clicking on the |get-deps| target and building that).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/sccn/labstreaminglayer/issues/332#issuecomment-412097461>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ADch7nqRiMoURodXY98mA6SiANDVe02Tks5uPZckgaJpZM4V4MJO>.
|
How? Programmatically, I mean.
I have some library updates from Brain Products and I'd like to get them into the build structure somehow. Are we still relying on the SCCN ftp to store the 3rd party dependencies?
The text was updated successfully, but these errors were encountered: