Hello, Ivan, could you possibly clarify your question (may be explaining the use-case behind it)? Gradle appears to be build system, AFAIK more popular in Java world. meanwhile, Apache Incubator MXNet project uses CMake as its build system. please correct me, I am wrong. in general, conan, as a package manager, is pretty build-system-agnostic, and it may work with arbitrary build systems (to count a few, CMake, premake, qmake, full list: https://docs.conan.io/en/latest/reference/generators.html). I don't think Gradle is exception here. also, for instance, Android Studio also uses Gradle for Android C++ projects, and conan works flawlessly in this particular case ( https://blog.conan.io/2018/02/13/Android-Studio-project-Conan-Boost.html).
yours sincerely, Konstantin пн, 26 нояб. 2018 г. в 16:43, Ivan Serdyuk <local.tourist.k...@gmail.com>: > Kostantin, and what (overall) option with using Gradle? Does this your > suggested package manager has been supported by Gradle? > > Ivan > > On Mon, Nov 26, 2018 at 9:43 AM Konstantin Ivlev <tomsks...@gmail.com> > wrote: > > > hello, > > > > this email is related to the following PR and JIRA ticket: > > - [MXNET-1229] use OpenBLAS, lapack & OpenCV from conan > > <https://github.com/apache/incubator-mxnet/pull/13400> > > - use conan to manage project dependencies > > <https://issues.apache.org/jira/browse/MXNET-1229> > > > > conan <https://conan.io> is an open-source package manager for C++ > > projects. it allows to manage project dependencies in transparent and > > declarative manner. > > > > currently, apache incubator-mxnet project uses the following different > > ways to manage its dependencies: > > > > - download GitHub archives during the build > > - OpenBLAS <https://github.com/xianyi/OpenBLAS> > > - OpenCV <https://github.com/opencv/opencv> > > - conda <https://conda.io/> (alternative way to GitHub archives) > > - download from CMake > > - Intel Math Kernel Library <https://software.intel.com/en-us/mkl> > > (MKL) > > - Git submodules > > - cub <https://github.com/dmlc/cub> > > - dlpack <https://github.com/dmlc/dlpack> > > - dmlc-core <https://github.com/dmlc/dmlc-core> > > - googletest <https://github.com/abseil/googletest> > > - mkldnn <https://github.com/intel/mkl-dnn> > > - mshadow <https://github.com/dmlc/mshadow> > > - onnx-tensorrt <https://github.com/onnx/onnx-tensorrt> > > - openmp <https://github.com/llvm-mirror/openmp> > > - ps-lite <https://github.com/dmlc/ps-lite> > > - tvm <https://github.com/dmlc/tvm> > > > > this appears to be very heterogeneous and hard to manage/maintain, as > > multiple various commands are in use to achieve dependencies > installation, > > as well as multiple places are to look for dependency versions and their > > updates. > > > > with conan, it may became much more straightforward, as dependencies will > > be declared in single place (conanfile) and installed via single command > > (conan install). > > > > as project is very complex, and has lots of dependencies, for the first > > prototype I've used only very few of dependencies from conan: OpenCV > > <https://bintray.com/conan-community/conan/opencv%3Aconan>, OpenBLAS > > <https://bintray.com/conan-community/conan/openblas%3Aconan> and lapack > > <https://bintray.com/conan-community/conan/lapack%3Aconan>. > > others may be easily added then one by one, but they first has to be > > packaged (not all of them are packaged yet, e.g. GoogleTest > > <https://bintray.com/bincrafters/public-conan/gtest%3Abincrafters> is > > available, while MKL is not). > > > > I attach patch which adds an initial conan support as proof of concept. > > also, I attach two simple build scripts, which I've used to test (for > > Windows and Linux / Mac OS X). Google Mail blocks .sh and .cmd > extensions, > > so you'll need to rename files. > > lemme know if you have any further questions. > > > > yours sincerely, Konstantin > > >