7#include <unordered_map>
19 static constexpr uint32_t kCurrentVersion = 1;
21 uint32_t mVersion = kCurrentVersion;
23 bool mEmbedded =
false;
24 bool mStaticContent =
false;
25 bool mContentPak =
false;
26 int64_t mBuildTime = 0;
27 std::string mProjectName;
28 std::string mOutputDirectory;
29 std::string mTargetVariant;
31 std::vector<FileEntry> mAssets;
32 std::vector<FileEntry> mScripts;
33 std::vector<FileEntry> mConfigFiles;
36enum class BuildCacheResult
49 static BuildCache*
Get();
69 BuildCacheResult CheckRebuildNeeded(
Platform platform,
bool embedded,
bool staticContent,
bool contentPak,
70 const std::string& targetVariant =
"",
71 const std::string& outputDirectory =
"");
72 std::string GetRebuildReason()
const {
return mRebuildReason; }
74 void BuildCurrentManifest(
Platform platform,
bool embedded,
bool staticContent,
bool contentPak,
75 const std::string& targetVariant =
"",
76 const std::string& outputDirectory =
"");
78 bool LoadManifest(
Platform platform,
bool embedded,
bool staticContent,
bool contentPak,
79 const std::string& targetVariant =
"");
81 std::string GetManifestPath(
Platform platform,
bool embedded,
bool staticContent,
bool contentPak,
82 const std::string& targetVariant =
"")
const;
88 void GatherAssetFiles(std::vector<FileEntry>& outAssets);
89 void GatherScriptFiles(std::vector<FileEntry>& outScripts);
90 void GatherConfigFiles(std::vector<FileEntry>& outConfigs);
92 int64_t GetFileModTime(
const std::string& path)
const;
93 bool CompareManifests(
const BuildManifest& current,
const BuildManifest& saved);
94 bool VerifyOutputDirectory()
const;
96 static BuildCache* sInstance;
98 BuildManifest mCurrentManifest;
99 BuildManifest mSavedManifest;
100 std::string mRebuildReason;
Platform
Definition EngineTypes.h:32