Add dependency manager
Currently only SIMDJSON is used as a submodule. But in the future there may be other dependencies (for example, a third-party HTTP server or exclude getopt from the codebase). Submodules are very inconvenient, not very effective, and tie the project to a version control system, which should not be the case.
Probably better solution will be use dependency manager. CPM is lightweight and written in pure CMake.
a good idea. Will try it when we will have more dependencies to justify it and improve ROI
Besides CPM, there are Hunter and Conan.io . But Conan.io in my opinion is not very convenient. I didn't use Hunter, probably it's more flexible than CPM, but CPM written in pure CMake and mostly satisfies my requirements.
@rdementi, @opcm, which would you prefer to use?
I can try to integrate CPM, if you want.
@artiomn rdementi is supposed to be on vacation this week, don't make him work so hard ;-)
@artiomn rdementi is supposed to be on vacation this week, don't make him work so hard ;-)
Ok, I'm waiting. :-)
Thanks for volunteering!
I discussed it with @twillhal . Adding cmake/CPM.cmake would potentially require an internal review and approval. We will do it but unfortunately I can't give a timeline.
I can do this, if you approve this change.
adding CPM.cmake has been approved. It is now in the master branch: https://github.com/intel/pcm/blob/master/cmake/CPM.cmake