Open jellespijker opened 4 years ago
I'm looking into using Project Chrono as a simulator for the motion system of a 3D printer, such that simulate the output of Cura, one of the more popular open source slicers for 3d printers.
Since Cura and CuraEngine build-systems rely heavily on Conan I'm planning on adding Project chrono to the CCI (Conan-Center-Index) such that we can use it downstream in one of our projects. See newly opened issue in CCI: https://github.com/conan-io/conan-center-index/issues/18561
PR to follow in the CCI repo in due-time, working branch: https://github.com/Ultimaker/conan-center-index/tree/GH-18561_projectchrono
Feature Request I think you guys are doing a great job and I really like to use Project Chrono in a variety of projects, But not every project of mine requires the same options. Compiling and maintaining different builds of dependencies for different projects can be difficult and time consuming and lets be honest who likes building and compiling dependencies.
I came across Conan (https://conan.io/) a year ago, which is a decentralized and multi-platform package manager, which allows me and consumers of my projects, to manage and share native binaries. This allows me to import dependencies such as Project Chrono for a new project with just a few lines in my CMake file or with a Python script. The beauty is that you have only to compile it once for a certain set of options and that these binaries can be uploaded to a server (public or private). If I have a different project with the same options, the binaries can be retrieved, saving a lot of time. The same goes for all dependencies of Project Chrono, these are download or compiled as needed.
I have create my own repository which allows me use Project Chrono with Conan ( https://github.com/jellespijker/conan-projectchrono ), but this project is only tested on one platform (Linux - arch-based) and not every option and optional dependencies are included. I think it would be great if you guys provide support for a Conan package. This would i.m.o. greatly increase the ease with which I and others can use Project Chrono in our projects.
Usage I use the Conan Wrapper in a project of mine called FantasticFuckinFusion ( https://github.com/jellespijker/FantasticFuckinFusion ) which is a 3D printer simulator based on Qt5 3D and Project Chrono. Two big projects which can be challenging to build from source, but using Conan it is much easier. Look at the snippets of code in the CmakeLists.txt below
Main CMakeLists.txt
CMakeLists.txt for my FFF lib
Conan.cmake ( copied from the C++ template project by Jason Turner https://github.com/lefticus/cpp_starter_project )