rcsb / mmtf-cpp

The pure C++ implementation of the MMTF API, decoder and encoder.
MIT License
21 stars 24 forks source link

Branch, or release without submodules #21

Closed danpf closed 5 years ago

danpf commented 5 years ago

If any program wants to include mmtf-cpp as a submodule they probably don't want to include all of our submodules too, as they're large, and take a long time to download. (Basically you cant use: git submodule update --init --recursive)

we should think of a way to make a branch or release without the submodules. I think it should be possible with some travis-ci voodoo, but I don't know travis at all.

gtauriello commented 5 years ago

Not sure if I understand the request correctly but wouldn't it be enough for your other project to use git submodule update --init without the recursive bit?

Or some alternative ideas:

danpf commented 5 years ago

Not sure if I understand the request correctly but wouldn't it be enough for your other project to use git submodule update --init without the recursive bit?

well when you have a project with lots of (10+) submodules, that becomes the easiest way... I don't know if it's worth catering to 'those projects', i'm just bringing it up because I had this problem.

We remove submodules from this repo and fetch the submodules within cmake. I mean the submodules are only needed for building the tests anyways.

https://cmake.org/cmake/help/latest/module/FetchContent.html actually seems pretty nice. Maybe I'll give that a shot.

gtauriello commented 5 years ago

For cmake features please also check if they need a more recent cmake version so that we change the requirements in CMakeLists accordingly (the FetchContent seems to require 3.11 or newer).

For our usecases we don't really need to fetch the content via git but we could probably use the smaller ExternalProject option and just fetch a given version via its URL (any tagged commit has a stable URL for download in github).

danpf commented 5 years ago

After looking into this, it seems overly complicated to remove the submodules. I sort of like how it is now, so let's just keep it this way :D