After extracting the tarball in a temporary directory we copy the tree to the destination directory. The 'cmake -E copy_directory' command does not preserve file timestamps, so we use file(COPY) instead.