GATB / gatb-core

Core library of the Genome Analysis Toolbox with de-Bruijn graph
https://gatb.inria.fr/software/gatb-core/
63 stars 27 forks source link

GATB-Core GitHub repo cannot be used in a CMake external project #6

Closed karel-brinda closed 5 years ago

karel-brinda commented 8 years ago

Hello,

since the root directory of this project does not contain any CMakeLists.txt, it cannot be used as an external project (or it is extremely complicated, see http://stackoverflow.com/questions/30028117/cmake-externalproject-how-to-specify-relative-path-to-the-root-cmakelists-txt).

Solution: https://github.com/GATB/gatb-core/tree/master/gatb-core should be the root directory.

Official GATB-Core releases are correct so I can define an URL instead of a GitHub repository (see, e.g., https://github.com/karel-brinda/cmake-ext/blob/master/gatbcore.cmake and a full working example at https://github.com/karel-brinda/cmake-ext-test). Nevertheless, I prefer to use GitHub repositories when it is possible.

Thanks.

rchikhi commented 8 years ago

Regarding how to integrate gatb-core as a GIT submodule, see for example this repository: https://github.com/GATB/bcalm/ and https://github.com/GATB/bcalm/blob/master/CMakeLists.txt

But you're right, it would make more sense to have CMakeLists.txt in the root of the repo. However this is going to be a major change. Patrick, do you think this could go along with your current reorganization?

karel-brinda commented 8 years ago

The solution used in bcalm is not fully equivalent. In case of a git submodule, the commit is fixed (however, there exist some tricky solutions like fetch.recurseSubmodules). In CMake external project, you can fix a specific commit/tag or you can use the current (last) git version (when GIT_TAG is not set). Moreover, an external project can be used outside git.

pgdurand commented 8 years ago

Well, we do not schedule an update of gatb-core directory during the current reorganization of gatb-tools. Nevertheless, we would take into account comments from Karel to figure out how to facilitate the use of gatb-core as an external submodule from github ; but keep in mind that we have to take into account that gatb-core and gatb-tools are officially hosted on the Inria Forge, and we have to be compliant (first) to that source code hosting system.

rchikhi commented 5 years ago

Closing this issue 2 years later; the status in my opinion is as follows: there are no structural changes planned in gatb-core in the foreseeable future. Our efforts will focus on distributing some of components in a more lightweight fashion.