[cmake] Cache external dependencies in CPM_SOURCE_CACHE.

Merged Lars Bilke requested to merge bilke/ogs:cache-ext into master

If CPM_SOURCE_CACHE is set and outside the build directory.

Full build is cached in $CPM_SOURCE_CACHE/_ext/[NAME]/[HASH]. Caching only sources did not work.

Hash is based on all parameters given to build the dependency (version info, cmake options). May fail if build binaries become incompatible with newer OGS builds, maybe after updating the system. In that case just delete $CPM_SOURCE_CACHE/_ext and create a fresh OGS build.

  1. Feature description was added to the changelog
  2. Tests covering your feature were added?
  3. Any new feature or behavior change was documented?
Edited by Lars Bilke

Merge request reports