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.

Reply via email to