logic: implemented global header search path detection for VS 2017

* split header search path detector for VS into 2 different classes (one for VS2010 - VS2015 and one for VS2017)
* implemented detecting "ucrt" path for windows global headers
This commit is contained in:
mlangkabel
2017-10-12 18:04:23 +02:00
parent af626143a5
commit 451ad785de
13 changed files with 365 additions and 194 deletions
+23 -6
View File
@@ -207,20 +207,37 @@ void FileSystem::createDirectory(const FilePath& path)
boost::filesystem::create_directories(path.str());
}
std::vector<FilePath> FileSystem::getSubDirectories(const FilePath &path)
std::vector<FilePath> FileSystem::getDirectSubDirectories(const FilePath& path)
{
std::vector<FilePath> v;
if (!path.exists() || !path.isDirectory())
if (path.exists() && path.isDirectory())
{
return v;
for (boost::filesystem::directory_iterator end, dir(path.str()); dir != end; dir++)
{
if (boost::filesystem::is_directory(dir->path()))
{
v.push_back(FilePath(dir->path()));
}
}
}
for (boost::filesystem::recursive_directory_iterator end, dir(path.str()); dir != end; dir++)
return v;
}
std::vector<FilePath> FileSystem::getRecursiveSubDirectories(const FilePath &path)
{
std::vector<FilePath> v;
if (path.exists() && path.isDirectory())
{
if (boost::filesystem::is_directory(dir->path()))
for (boost::filesystem::recursive_directory_iterator end, dir(path.str()); dir != end; dir++)
{
v.push_back(FilePath(dir->path()));
if (boost::filesystem::is_directory(dir->path()))
{
v.push_back(FilePath(dir->path()));
}
}
}