Dear Chrono users, We just completed a refactoring of the Chrono CMake build system. Please see the ChangeLog<https://github.com/projectchrono/chrono/blob/main/CHANGELOG.md#changed-refactoring-of-chrono-cmake-build-system> for details.
If you pull in an existing clone: * Execute git submodule update * Manually delete the directories src/chrono_thirdparty/chpf and src/chrono_thirdparty/DEM-Engine As always, if you start with a fresh clone of the Chrono repository, recall to: * Execute git submodule init * Execute git submodule update The main changes that affect how Chrono is configured and built with CMake are: * Chrono-related CMake variables were renamed to have prefix CH_ (e.g., CH_ENABLE_MODULE_IRRLICHT and CH_USE_SIMD); this helps grouping all Chrono (e.g., in cmake-gui) and disambiguate from similarly named CMake variables introduced by dependency packages. * CMake variables necessary to specify location of dependency packages were renamed for consistency and to follow common practice (e.g., Eigen3_DIR). * The Chrono CMake project configuration script (used to find a build or install version of Chrono when configuring an external project) was rewritten to be more robust; among other things, the new chrono-config script will (i) identify all explicit and implicit Chrono module inter-dependencies; and (ii) default to using the dependency package locations specified during build while allowing their redefinition. Please consult the updated installation guides<https://api.projectchrono.org/install_guides.html> in the Chrono documentation (let us know if there are inconsistencies, mistakes, or missing information in these guides). The template projects included in the Chrono distribution (to illustrate linking to the Chrono libraries in an external project) were updated to reflect changes to chrono-config. You can also consult the configuration of the associated repositories chrono-tutorial<https://github.com/projectchrono/chrono-tutorial> and chrono-projects<https://github.com/projectchrono/chrono-projectshttps:/github.com/projectchrono/chrono-projects> (which use chrono-config). Known issues - there are still a couple of issues we are aware of; these will be addressed in the near future: * Configuration of an external project that ends up using both Chrono::PardisoMKL and Chrono::Mumps will fail with an error related to double definition of the MKL::MKL target. Note that this can be triggered by implicit Chrono module inter-dependencies even if these two modules are not explicitly requested in find_package(Chrono...). * External projects using the Chrono::Vehicle co-simulation, such as template_project_vehicle_cosim<https://github.com/projectchrono/chrono/tree/main/template_project_vehicle_cosim>, build fine, but may not run (MPI not properly set up). Please let us know of any issues related to these changes. Best, Radu -- You received this message because you are subscribed to the Google Groups "ProjectChrono" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/projectchrono/CH3PPF46CDC21855A135893ED73C6C79B63A7F82%40CH3PPF46CDC2185.namprd06.prod.outlook.com.
