Skip to content

Teko: Fetch heavy test/example data via CMake's ExternalData

James Willenbring requested to merge nschloe:teko-cmake-externaldata into master

Created by: nschloe

@trilinos/teko @eric-c-cyr

The largest files in Trilinos are in Teko, specifically heavy data in tests and examples. Those files are distributed with the sources which creates various problems. For example, greping the Trilinos source tree takes longer than it should, moving the tarball between servers or downloading it takes minutes. (The latter is what motivated me to improve the situation.)

The PR makes use of CMake's ExternalData feature which was created with exactly that problem in mind. Two steps were necessary to complete the process:

If Teko is built with tests, CMake then downloads those files to the build tree.

This PR shaves around 50MB (!) off the size of the source tree, about 15MB off the tarball (which is then below 100MB).

Note that this PR doesn't solve the problem of a bloated Git repo since Git always keeps a complete history.

Before: before

After: after

Merge request reports