mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-19 15:52:53 +00:00
chore: normalize paths before making use of them in LinkerPaths
This commit is contained in:
parent
110f31e58a
commit
a240824706
@ -119,7 +119,7 @@ namespace
|
|||||||
ss << m_parts[parameterIndex + 1];
|
ss << m_parts[parameterIndex + 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
return ss.str();
|
return fs::path(ss.str()).make_preferred().string();
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] bool CanRender(const std::underlying_type_t<PathTemplateParameterType> availableParameters) const
|
[[nodiscard]] bool CanRender(const std::underlying_type_t<PathTemplateParameterType> availableParameters) const
|
||||||
@ -142,10 +142,10 @@ namespace
|
|||||||
| static_cast<unsigned>(PathTemplateParameterType::PROJECT) | static_cast<unsigned>(PathTemplateParameterType::GAME);
|
| static_cast<unsigned>(PathTemplateParameterType::PROJECT) | static_cast<unsigned>(PathTemplateParameterType::GAME);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
LinkerSearchPathBuilder(const char* typeName, const std::string& binDir, const std::string& baseDir)
|
LinkerSearchPathBuilder(const char* typeName, std::string binDir, std::string baseDir)
|
||||||
: m_type_name(typeName),
|
: m_type_name(typeName),
|
||||||
m_bin_dir(binDir),
|
m_bin_dir(std::move(binDir)),
|
||||||
m_base_dir(baseDir)
|
m_base_dir(std::move(baseDir))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -239,8 +239,8 @@ namespace
|
|||||||
|
|
||||||
const char* m_type_name;
|
const char* m_type_name;
|
||||||
std::vector<LinkerPathTemplate> m_templates;
|
std::vector<LinkerPathTemplate> m_templates;
|
||||||
const std::string& m_bin_dir;
|
std::string m_bin_dir;
|
||||||
const std::string& m_base_dir;
|
std::string m_base_dir;
|
||||||
};
|
};
|
||||||
|
|
||||||
class LinkerPaths final : public ILinkerPaths
|
class LinkerPaths final : public ILinkerPaths
|
||||||
@ -301,23 +301,26 @@ namespace
|
|||||||
|
|
||||||
std::unique_ptr<ILinkerPaths> ILinkerPaths::FromArgs(const LinkerArgs& args)
|
std::unique_ptr<ILinkerPaths> ILinkerPaths::FromArgs(const LinkerArgs& args)
|
||||||
{
|
{
|
||||||
LinkerSearchPathBuilder assetSearchPaths("asset", args.m_bin_folder, args.m_base_folder);
|
std::string normalizedBinPath = fs::canonical(args.m_bin_folder).make_preferred().string();
|
||||||
|
std::string normalizedBasePath = fs::canonical(args.m_base_folder).make_preferred().string();
|
||||||
|
|
||||||
|
LinkerSearchPathBuilder assetSearchPaths("asset", normalizedBinPath, normalizedBasePath);
|
||||||
assetSearchPaths.BuildFromArgs(args.m_asset_search_paths);
|
assetSearchPaths.BuildFromArgs(args.m_asset_search_paths);
|
||||||
|
|
||||||
LinkerSearchPathBuilder gdtSearchPaths("gdt", args.m_bin_folder, args.m_base_folder);
|
LinkerSearchPathBuilder gdtSearchPaths("gdt", normalizedBinPath, normalizedBasePath);
|
||||||
gdtSearchPaths.BuildFromArgs(args.m_gdt_search_paths);
|
gdtSearchPaths.BuildFromArgs(args.m_gdt_search_paths);
|
||||||
|
|
||||||
LinkerSearchPathBuilder sourceSearchPaths("source", args.m_bin_folder, args.m_base_folder);
|
LinkerSearchPathBuilder sourceSearchPaths("source", normalizedBinPath, normalizedBasePath);
|
||||||
sourceSearchPaths.BuildFromArgs(args.m_source_search_paths);
|
sourceSearchPaths.BuildFromArgs(args.m_source_search_paths);
|
||||||
|
|
||||||
LinkerPathTemplate cacheTemplate;
|
LinkerPathTemplate cacheTemplate;
|
||||||
cacheTemplate.CreateFromString(args.DEFAULT_CACHE_FOLDER);
|
cacheTemplate.CreateFromString(LinkerArgs::DEFAULT_CACHE_FOLDER);
|
||||||
|
|
||||||
LinkerPathTemplate outTemplate;
|
LinkerPathTemplate outTemplate;
|
||||||
outTemplate.CreateFromString(args.m_out_folder);
|
outTemplate.CreateFromString(args.m_out_folder);
|
||||||
|
|
||||||
return std::make_unique<LinkerPaths>(args.m_bin_folder,
|
return std::make_unique<LinkerPaths>(std::move(normalizedBinPath),
|
||||||
args.m_base_folder,
|
std::move(normalizedBasePath),
|
||||||
std::move(assetSearchPaths),
|
std::move(assetSearchPaths),
|
||||||
std::move(gdtSearchPaths),
|
std::move(gdtSearchPaths),
|
||||||
std::move(sourceSearchPaths),
|
std::move(sourceSearchPaths),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user