Skip to content

Refactor Chrono linkage and improve build, data, and test infrastructure#79

Merged
dav-og merged 30 commits intomainfrom
feature/chrono-fsi-interface
Dec 9, 2025
Merged

Refactor Chrono linkage and improve build, data, and test infrastructure#79
dav-og merged 30 commits intomainfrom
feature/chrono-fsi-interface

Conversation

@dav-og
Copy link
Copy Markdown
Collaborator

@dav-og dav-og commented Dec 9, 2025

This PR updates HydroChrono’s integration with Project Chrono and cleans up several parts of the build and data infrastructure. The main goal is to lay the groundwork for future Chrono::FSI integration while also making builds more reliable and tests/demos easier to run across platforms.

Highlights

  • Simplified Chrono discovery and linking in CMake.
  • Updated code to match recent Chrono API changes.
  • Reorganized HydroChrono data directory and unified runtime data-path handling.
  • Modernized regression tests and standardized output locations.
  • Added optional VSG visualization and fixed minor Irrlicht issues.
  • Cleaned up demo and test programs (Chrono CLI support, correct working/output dirs).

Summary

  • More robust cross-platform builds.
  • Tests and demos run consistently from both build and install trees.

Follow-up

DLL inclusion in the CPack package currently relies on a filesystem glob. This works but is fragile; we should replace it with explicit target-based dependency collection in a future update.

Acknowledgement

Massive thanks to Radu (@rserban) for doing this work to improve HydroChrono's build/data/visualization infrastructure!

dav-og and others added 30 commits October 22, 2025 15:40
Replaced duplicate find_package(Chrono ...) calls and remove ${CHRONO_TARGETS}
- rename test source file names to follow the pattern test_***.cpp
- rename Python scripts for regression testing to match the corresponding test names
- relocate test executables to the project binary directory
- Move CMake configuration in its own directory
- Simplify access to necessary Chrono data (for Irrlicht visualization)
- prefer using Chrono data subdirectory from under the HydroChrono data directory.
- fall back on the data directory of the Chrono installation used during HydroChrono configuration.
to run tests from build directory:

> ctest -C Release -L regression
- Fix CPack packaging to include HDF5 and Irrlicht DLLs
- Fix data directory install path (trailing slash issue)
- Include test input data (YAML, H5, geometry) in package
- Set HYDROCHRONO_DATA_DIR in RUN-TESTS.ps1 for portable execution
- Remove deprecated Chrono API calls (GetTypeAsString) in regression tests
@dav-og dav-og merged commit 005c43e into main Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants