X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcache.cpp;h=a2d68248d14a91fcb641b9c76c59df5e0772f896;hb=6382743d26f8d5bb10a53cb907659bee6614b549;hp=087428fc3cf54cf8341deae68dcb4224b6f3613b;hpb=7ac882d9a3a025bbe77f88803f53eff5c6dad750;p=builder.git diff --git a/source/cache.cpp b/source/cache.cpp index 087428f..a2d6824 100644 --- a/source/cache.cpp +++ b/source/cache.cpp @@ -1,5 +1,7 @@ #include +#include #include +#include #include #include #include @@ -57,7 +59,7 @@ void write_string(IO::Base &out, const string &str) Cache::Cache(SourcePackage &p): package(p), - filename(package.get_temp_dir()/"../cache"), + filename(package.get_temp_directory()/"../cache"), changed(false) { } @@ -133,6 +135,9 @@ void Cache::save() const if(data.empty() || !changed) return; + FS::Path dir = FS::dirname(filename); + if(!FS::exists(dir)) + FS::mkpath(dir, 0755); package.get_builder().get_logger().log("files", format("Writing %s", filename)); IO::BufferedFile out(filename.str(), IO::M_WRITE);