Closed luciansmith closed 2 years ago
Yes, removing the submodules like this does not really work for me. In your setup you could simply not check out libSEDML with submodule, and you would not have them locally. That seems way less work, then using another dependency project with the submodules.
As indicated on the other branch, i'd be fine with the check for targets, but then probably would do that on the level of the find scripts rather than duplicating the checks in every projects using them. I'm ok with removing the deviser generated file, that wasn't used at all though.
The problem is that as far as I can tell, either you recurse all submodules, or you recurse none. When libsedml is a submodule of a different project, if you pull with the --recurse-submodules option to get the libsedml source, it will pull in the other submodules as well. This means that I end up with like four copies of libsbml: one at the top level for my own project, one pulled in from libNuML, one pulled in for libSEDML, and one pulled in from libNuML pulled in from libSEDML. It seems a little much.
However, it's probably simplest for me to just fork the project, dump the submodules, and link that.
I see where you are coming from, but you could just use multiple git calls, to initialize the individual submodules how you like them (one call to submodules init .. then several with update and the corresponding path). I'm sure that would be easier than having forks of all projects around.
that should be easier rather than lots of forks and lots of changes all around.
Closing this and re-doing without submodule deletions.
A few inherent fixes and some other existential fixes.
One issue is that if you put the submodules directly in a 'submodule' directory, anyone using libsedml as a submodule itself will then get multiple copies of everything. I think this isn't ideal; I would rather see a system where a separate dependencies project was created.
However, @fbergmann might not agree? There may be some other solution here, too.
Anyway, also some actual fixes, mostly involving src/CMakeLists.txt not actually being used, and some functionality in it being missed in the actually-used src/sedml/CMakeLists.txt