Handling 3dparty dependencies
Opened this issue · 0 comments
atimin commented
Currently metric framework storse all the dependencies in 3dparty folder as modified copies. It has some disadvantages:
- Hard to update, because we need to copy the sources and modify them
- No information about versions
- There is no options to use system libraries or local copies.
Modern CMake provides https://cmake.org/cmake/help/latest/module/FetchContent.html that can download and compile all the needed dependencies automatically. Moreover the framework could have some CMake variable to switch itself to system libraries so that a user doesn't need to download and build them repeatedly in CI/CD pipelines.
To do:
- Add fetch content option
- Add external option
For libs:
- blaze
- nlohmann json
- cereal