mirror of
https://github.com/boostorg/filesystem.git
synced 2025-05-12 13:41:47 +00:00
Remove lexically_relative() free function. Add path::rel
This commit is contained in:
parent
dc794ea95b
commit
6da5f657fb
@ -657,7 +657,7 @@ namespace boost
|
||||
// [Note: If either p or base is_relative(), user may wish to wrap the call to that
|
||||
// argument in a call to absolute(). -- end note]
|
||||
{
|
||||
return lexically_relative(semi_canonical(p), semi_canonical(base));
|
||||
return semi_canonical(p).relative(semi_canonical(base));
|
||||
}
|
||||
|
||||
inline
|
||||
|
@ -501,6 +501,12 @@ namespace filesystem
|
||||
}
|
||||
bool is_relative() const { return !is_absolute(); }
|
||||
|
||||
// ----- lexical operations -----
|
||||
|
||||
path relative(const path& p) const;
|
||||
// TODO: document dangers of lack of symlink following, no normalization,
|
||||
// difference of "symlink/.." handling between Windows and POSIX
|
||||
|
||||
// ----- iterators -----
|
||||
|
||||
class iterator;
|
||||
@ -695,9 +701,6 @@ namespace filesystem
|
||||
|
||||
inline path operator/(const path& lhs, const path& rhs) { return path(lhs) /= rhs; }
|
||||
|
||||
BOOST_FILESYSTEM_DECL
|
||||
path lexically_relative(const path& p, const path& base);
|
||||
|
||||
// inserters and extractors
|
||||
// use boost::io::quoted() to handle spaces in paths
|
||||
// use '&' as escape character to ease use for Windows paths
|
||||
|
81
src/path.cpp
81
src/path.cpp
@ -388,7 +388,42 @@ namespace filesystem
|
||||
: path(name.m_pathname.c_str() + pos);
|
||||
}
|
||||
|
||||
// m_normalize ----------------------------------------------------------------------//
|
||||
// lexical operations --------------------------------------------------------------//
|
||||
|
||||
namespace detail
|
||||
{
|
||||
// C++14 provide a mismatch algorithm with four iterator arguments(), but earlier
|
||||
// standard libraries didn't, so provide this needed functionality.
|
||||
inline
|
||||
std::pair<path::iterator, path::iterator> mismatch(path::iterator it1,
|
||||
path::iterator it1end, path::iterator it2, path::iterator it2end)
|
||||
{
|
||||
for (; it1 != it1end && it2 != it2end && *it1 == *it2;)
|
||||
{
|
||||
++it1;
|
||||
++it2;
|
||||
}
|
||||
return std::make_pair(it1, it2);
|
||||
}
|
||||
}
|
||||
|
||||
path path::relative(const path& base) const
|
||||
{
|
||||
std::pair<path::iterator, path::iterator> mm
|
||||
= detail::mismatch(begin(), end(), base.begin(), base.end());
|
||||
if (mm.first == begin() && mm.second == base.begin())
|
||||
return path();
|
||||
if (mm.first == end() && mm.second == base.end())
|
||||
return detail::dot_path();
|
||||
path tmp;
|
||||
for (; mm.second != base.end(); ++mm.second)
|
||||
tmp /= detail::dot_dot_path();
|
||||
for (; mm.first != end(); ++mm.first)
|
||||
tmp /= *mm.first;
|
||||
return tmp;
|
||||
}
|
||||
|
||||
// m_normalize ---------------------------------------------------------------------//
|
||||
|
||||
path& path::m_normalize()
|
||||
{
|
||||
@ -807,50 +842,6 @@ namespace filesystem
|
||||
it.m_element.m_pathname = separator_string; // generic format; see docs
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------//
|
||||
// //
|
||||
// class path non-member functions implementation //
|
||||
// //
|
||||
//--------------------------------------------------------------------------------------//
|
||||
|
||||
namespace detail
|
||||
{
|
||||
// C++14 provide a mismatch algorithm with four iterator arguments(), but earlier
|
||||
// standard libraries didn't, so provide the needed functionality here in detail.
|
||||
inline
|
||||
std::pair<path::iterator, path::iterator> mismatch(path::iterator it1,
|
||||
path::iterator it1end, path::iterator it2, path::iterator it2end)
|
||||
{
|
||||
for (; it1 != it1end && it2 != it2end && *it1 == *it2;)
|
||||
{
|
||||
++it1;
|
||||
++it2;
|
||||
}
|
||||
return std::make_pair(it1, it2);
|
||||
}
|
||||
}
|
||||
|
||||
BOOST_FILESYSTEM_DECL
|
||||
path lexically_relative(const path& p, const path& base)
|
||||
{
|
||||
std::pair<path::iterator, path::iterator> mm
|
||||
= detail::mismatch(p.begin(), p.end(), base.begin(), base.end());
|
||||
if (mm.first == p.end()
|
||||
|| mm.second != base.end())
|
||||
{
|
||||
throw filesystem_error(
|
||||
"lexically_relative: p does not begin with base, so can not be made relative to base",
|
||||
p, base, boost::system::error_code(boost::system::errc::invalid_argument,
|
||||
boost::system::generic_category()));
|
||||
}
|
||||
path tmp(*mm.first++);
|
||||
for (; mm.first != p.end(); ++mm.first)
|
||||
{
|
||||
tmp /= *mm.first;
|
||||
}
|
||||
return tmp;
|
||||
}
|
||||
|
||||
} // namespace filesystem
|
||||
} // namespace boost
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.22310.1
|
||||
VisualStudioVersion = 14.0.23107.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "path_unit_test", "path_unit_test\path_unit_test.vcxproj", "{3C77F610-2E31-4087-9DF2-7CD45198A02D}"
|
||||
EndProject
|
||||
@ -112,142 +112,220 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "headers", "headers\headers.
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bug-reporting", "bug-reporting\bug-reporting.vcxproj", "{534B6F8A-B899-4C68-A10C-BB98FFCB35D6}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "relative_test", "relative_test\relative_test.vcxproj", "{44FE7C6C-F483-44BE-B8E1-6D76F33F24D8}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Release|Win32.Build.0 = Release|Win32
|
||||
{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Release|x64.ActiveCfg = Release|Win32
|
||||
{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Release|Win32.Build.0 = Release|Win32
|
||||
{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Release|x64.ActiveCfg = Release|Win32
|
||||
{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Release|Win32.Build.0 = Release|Win32
|
||||
{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Release|x64.ActiveCfg = Release|Win32
|
||||
{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Release|Win32.Build.0 = Release|Win32
|
||||
{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Release|x64.ActiveCfg = Release|Win32
|
||||
{F94CCADD-A90B-480C-A304-C19D015D36B1}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{F94CCADD-A90B-480C-A304-C19D015D36B1}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{F94CCADD-A90B-480C-A304-C19D015D36B1}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{F94CCADD-A90B-480C-A304-C19D015D36B1}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{F94CCADD-A90B-480C-A304-C19D015D36B1}.Release|Win32.Build.0 = Release|Win32
|
||||
{F94CCADD-A90B-480C-A304-C19D015D36B1}.Release|x64.ActiveCfg = Release|Win32
|
||||
{FFD738F7-96F0-445C-81EA-551665EF53D1}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{FFD738F7-96F0-445C-81EA-551665EF53D1}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{FFD738F7-96F0-445C-81EA-551665EF53D1}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{FFD738F7-96F0-445C-81EA-551665EF53D1}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{FFD738F7-96F0-445C-81EA-551665EF53D1}.Release|Win32.Build.0 = Release|Win32
|
||||
{FFD738F7-96F0-445C-81EA-551665EF53D1}.Release|x64.ActiveCfg = Release|Win32
|
||||
{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Release|Win32.Build.0 = Release|Win32
|
||||
{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Release|x64.ActiveCfg = Release|Win32
|
||||
{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Release|Win32.Build.0 = Release|Win32
|
||||
{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Release|x64.ActiveCfg = Release|Win32
|
||||
{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Release|Win32.Build.0 = Release|Win32
|
||||
{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Release|x64.ActiveCfg = Release|Win32
|
||||
{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Release|Win32.Build.0 = Release|Win32
|
||||
{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Release|x64.ActiveCfg = Release|Win32
|
||||
{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Release|Win32.Build.0 = Release|Win32
|
||||
{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Release|x64.ActiveCfg = Release|Win32
|
||||
{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Release|Win32.Build.0 = Release|Win32
|
||||
{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Release|x64.ActiveCfg = Release|Win32
|
||||
{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Release|Win32.Build.0 = Release|Win32
|
||||
{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Release|x64.ActiveCfg = Release|Win32
|
||||
{FC5C770F-3017-4021-8DAF-C5DCA3FDF005}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{FC5C770F-3017-4021-8DAF-C5DCA3FDF005}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{FC5C770F-3017-4021-8DAF-C5DCA3FDF005}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{FC5C770F-3017-4021-8DAF-C5DCA3FDF005}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{FC5C770F-3017-4021-8DAF-C5DCA3FDF005}.Release|Win32.Build.0 = Release|Win32
|
||||
{FC5C770F-3017-4021-8DAF-C5DCA3FDF005}.Release|x64.ActiveCfg = Release|Win32
|
||||
{5C9B3380-3C6E-45CC-986A-16D245E27E58}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{5C9B3380-3C6E-45CC-986A-16D245E27E58}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{5C9B3380-3C6E-45CC-986A-16D245E27E58}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{5C9B3380-3C6E-45CC-986A-16D245E27E58}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{5C9B3380-3C6E-45CC-986A-16D245E27E58}.Release|Win32.Build.0 = Release|Win32
|
||||
{5C9B3380-3C6E-45CC-986A-16D245E27E58}.Release|x64.ActiveCfg = Release|Win32
|
||||
{C781F9C4-31D4-4509-B031-84DB598B207D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C781F9C4-31D4-4509-B031-84DB598B207D}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C781F9C4-31D4-4509-B031-84DB598B207D}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{C781F9C4-31D4-4509-B031-84DB598B207D}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C781F9C4-31D4-4509-B031-84DB598B207D}.Release|Win32.Build.0 = Release|Win32
|
||||
{C781F9C4-31D4-4509-B031-84DB598B207D}.Release|x64.ActiveCfg = Release|Win32
|
||||
{4A77CA6A-8E72-4CC6-9FE7-2C555C51815C}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{4A77CA6A-8E72-4CC6-9FE7-2C555C51815C}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{4A77CA6A-8E72-4CC6-9FE7-2C555C51815C}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{4A77CA6A-8E72-4CC6-9FE7-2C555C51815C}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{4A77CA6A-8E72-4CC6-9FE7-2C555C51815C}.Release|Win32.Build.0 = Release|Win32
|
||||
{4A77CA6A-8E72-4CC6-9FE7-2C555C51815C}.Release|x64.ActiveCfg = Release|Win32
|
||||
{17C6DD1B-EF6F-4561-B4FF-CF39F975ED29}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{17C6DD1B-EF6F-4561-B4FF-CF39F975ED29}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{17C6DD1B-EF6F-4561-B4FF-CF39F975ED29}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{17C6DD1B-EF6F-4561-B4FF-CF39F975ED29}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{17C6DD1B-EF6F-4561-B4FF-CF39F975ED29}.Release|Win32.Build.0 = Release|Win32
|
||||
{17C6DD1B-EF6F-4561-B4FF-CF39F975ED29}.Release|x64.ActiveCfg = Release|Win32
|
||||
{23C735E1-0195-467F-BE9F-314829402FCF}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{23C735E1-0195-467F-BE9F-314829402FCF}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{23C735E1-0195-467F-BE9F-314829402FCF}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{23C735E1-0195-467F-BE9F-314829402FCF}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{23C735E1-0195-467F-BE9F-314829402FCF}.Release|Win32.Build.0 = Release|Win32
|
||||
{23C735E1-0195-467F-BE9F-314829402FCF}.Release|x64.ActiveCfg = Release|Win32
|
||||
{1A6A7DAF-8705-4B2B-83B5-93F84A63496C}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{1A6A7DAF-8705-4B2B-83B5-93F84A63496C}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{1A6A7DAF-8705-4B2B-83B5-93F84A63496C}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{1A6A7DAF-8705-4B2B-83B5-93F84A63496C}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{1A6A7DAF-8705-4B2B-83B5-93F84A63496C}.Release|Win32.Build.0 = Release|Win32
|
||||
{1A6A7DAF-8705-4B2B-83B5-93F84A63496C}.Release|x64.ActiveCfg = Release|Win32
|
||||
{43C4B4D8-0893-4C86-B9FD-6A7DEB1A4426}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{43C4B4D8-0893-4C86-B9FD-6A7DEB1A4426}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{43C4B4D8-0893-4C86-B9FD-6A7DEB1A4426}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{43C4B4D8-0893-4C86-B9FD-6A7DEB1A4426}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{43C4B4D8-0893-4C86-B9FD-6A7DEB1A4426}.Release|Win32.Build.0 = Release|Win32
|
||||
{43C4B4D8-0893-4C86-B9FD-6A7DEB1A4426}.Release|x64.ActiveCfg = Release|Win32
|
||||
{3667C35E-78D5-43D4-AAC2-349145E4341D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3667C35E-78D5-43D4-AAC2-349145E4341D}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3667C35E-78D5-43D4-AAC2-349145E4341D}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{3667C35E-78D5-43D4-AAC2-349145E4341D}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3667C35E-78D5-43D4-AAC2-349145E4341D}.Release|Win32.Build.0 = Release|Win32
|
||||
{3667C35E-78D5-43D4-AAC2-349145E4341D}.Release|x64.ActiveCfg = Release|Win32
|
||||
{3640605D-6F82-493D-879F-8F30762DA554}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3640605D-6F82-493D-879F-8F30762DA554}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3640605D-6F82-493D-879F-8F30762DA554}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{3640605D-6F82-493D-879F-8F30762DA554}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3640605D-6F82-493D-879F-8F30762DA554}.Release|Win32.Build.0 = Release|Win32
|
||||
{3640605D-6F82-493D-879F-8F30762DA554}.Release|x64.ActiveCfg = Release|Win32
|
||||
{2C1770A4-4AC3-4102-9D36-E652DBB686D8}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{2C1770A4-4AC3-4102-9D36-E652DBB686D8}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{2C1770A4-4AC3-4102-9D36-E652DBB686D8}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{2C1770A4-4AC3-4102-9D36-E652DBB686D8}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{2C1770A4-4AC3-4102-9D36-E652DBB686D8}.Release|Win32.Build.0 = Release|Win32
|
||||
{2C1770A4-4AC3-4102-9D36-E652DBB686D8}.Release|x64.ActiveCfg = Release|Win32
|
||||
{3B3010C5-D6D7-4320-A992-4EA61F256279}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3B3010C5-D6D7-4320-A992-4EA61F256279}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3B3010C5-D6D7-4320-A992-4EA61F256279}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{3B3010C5-D6D7-4320-A992-4EA61F256279}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3B3010C5-D6D7-4320-A992-4EA61F256279}.Release|Win32.Build.0 = Release|Win32
|
||||
{3B3010C5-D6D7-4320-A992-4EA61F256279}.Release|x64.ActiveCfg = Release|Win32
|
||||
{36E2032D-F9E6-4FBA-9630-3D4AC518DC6C}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{36E2032D-F9E6-4FBA-9630-3D4AC518DC6C}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{36E2032D-F9E6-4FBA-9630-3D4AC518DC6C}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{36E2032D-F9E6-4FBA-9630-3D4AC518DC6C}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{36E2032D-F9E6-4FBA-9630-3D4AC518DC6C}.Release|Win32.Build.0 = Release|Win32
|
||||
{36E2032D-F9E6-4FBA-9630-3D4AC518DC6C}.Release|x64.ActiveCfg = Release|Win32
|
||||
{3AB1E2A1-9616-4E91-83F4-1D7A33A586DE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3AB1E2A1-9616-4E91-83F4-1D7A33A586DE}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3AB1E2A1-9616-4E91-83F4-1D7A33A586DE}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{3AB1E2A1-9616-4E91-83F4-1D7A33A586DE}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3AB1E2A1-9616-4E91-83F4-1D7A33A586DE}.Release|Win32.Build.0 = Release|Win32
|
||||
{3AB1E2A1-9616-4E91-83F4-1D7A33A586DE}.Release|x64.ActiveCfg = Release|Win32
|
||||
{C6594EC2-1BDA-41A1-B2C0-7FB8AE713CF8}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C6594EC2-1BDA-41A1-B2C0-7FB8AE713CF8}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C6594EC2-1BDA-41A1-B2C0-7FB8AE713CF8}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{C6594EC2-1BDA-41A1-B2C0-7FB8AE713CF8}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C6594EC2-1BDA-41A1-B2C0-7FB8AE713CF8}.Release|Win32.Build.0 = Release|Win32
|
||||
{C6594EC2-1BDA-41A1-B2C0-7FB8AE713CF8}.Release|x64.ActiveCfg = Release|Win32
|
||||
{1F1C209D-105B-4C8A-8DFC-ABCC4D9A0014}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{1F1C209D-105B-4C8A-8DFC-ABCC4D9A0014}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{1F1C209D-105B-4C8A-8DFC-ABCC4D9A0014}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{1F1C209D-105B-4C8A-8DFC-ABCC4D9A0014}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{1F1C209D-105B-4C8A-8DFC-ABCC4D9A0014}.Release|Win32.Build.0 = Release|Win32
|
||||
{1F1C209D-105B-4C8A-8DFC-ABCC4D9A0014}.Release|x64.ActiveCfg = Release|Win32
|
||||
{3D74D9C5-31B1-4D5B-B49C-8725E26CF768}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3D74D9C5-31B1-4D5B-B49C-8725E26CF768}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3D74D9C5-31B1-4D5B-B49C-8725E26CF768}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{3D74D9C5-31B1-4D5B-B49C-8725E26CF768}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3D74D9C5-31B1-4D5B-B49C-8725E26CF768}.Release|Win32.Build.0 = Release|Win32
|
||||
{3D74D9C5-31B1-4D5B-B49C-8725E26CF768}.Release|x64.ActiveCfg = Release|Win32
|
||||
{3B1AF12C-25AB-44F7-A80B-8BBA0D3D08CE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3B1AF12C-25AB-44F7-A80B-8BBA0D3D08CE}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3B1AF12C-25AB-44F7-A80B-8BBA0D3D08CE}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{3B1AF12C-25AB-44F7-A80B-8BBA0D3D08CE}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3B1AF12C-25AB-44F7-A80B-8BBA0D3D08CE}.Release|Win32.Build.0 = Release|Win32
|
||||
{3B1AF12C-25AB-44F7-A80B-8BBA0D3D08CE}.Release|x64.ActiveCfg = Release|Win32
|
||||
{5FFA4555-E967-4632-A3E6-ED8826E9FDED}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{5FFA4555-E967-4632-A3E6-ED8826E9FDED}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{5FFA4555-E967-4632-A3E6-ED8826E9FDED}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{5FFA4555-E967-4632-A3E6-ED8826E9FDED}.Release|x64.ActiveCfg = Release|Win32
|
||||
{534B6F8A-B899-4C68-A10C-BB98FFCB35D6}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{534B6F8A-B899-4C68-A10C-BB98FFCB35D6}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{534B6F8A-B899-4C68-A10C-BB98FFCB35D6}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{534B6F8A-B899-4C68-A10C-BB98FFCB35D6}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{534B6F8A-B899-4C68-A10C-BB98FFCB35D6}.Release|Win32.Build.0 = Release|Win32
|
||||
{534B6F8A-B899-4C68-A10C-BB98FFCB35D6}.Release|x64.ActiveCfg = Release|Win32
|
||||
{44FE7C6C-F483-44BE-B8E1-6D76F33F24D8}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{44FE7C6C-F483-44BE-B8E1-6D76F33F24D8}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{44FE7C6C-F483-44BE-B8E1-6D76F33F24D8}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{44FE7C6C-F483-44BE-B8E1-6D76F33F24D8}.Debug|x64.Build.0 = Debug|x64
|
||||
{44FE7C6C-F483-44BE-B8E1-6D76F33F24D8}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{44FE7C6C-F483-44BE-B8E1-6D76F33F24D8}.Release|Win32.Build.0 = Release|Win32
|
||||
{44FE7C6C-F483-44BE-B8E1-6D76F33F24D8}.Release|x64.ActiveCfg = Release|x64
|
||||
{44FE7C6C-F483-44BE-B8E1-6D76F33F24D8}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
178
test/msvc/relative_test/relative_test.vcxproj
Normal file
178
test/msvc/relative_test/relative_test.vcxproj
Normal file
@ -0,0 +1,178 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{44FE7C6C-F483-44BE-B8E1-6D76F33F24D8}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>relative_test</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\common.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\common.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\common.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\common.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>"$(TargetDir)\$(TargetName).exe"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>"$(TargetDir)\$(TargetName).exe"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>"$(TargetDir)\$(TargetName).exe"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>"$(TargetDir)\$(TargetName).exe"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\relative_test.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
|
||||
<Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\system_dll\system_dll.vcxproj">
|
||||
<Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
Loading…
x
Reference in New Issue
Block a user