Cache CPM if it is not in the cache directory.

Necessary if we want to use cached version of CPM offline.