Merge topic 'msbuild-targets-in-subdirs'
ac9a5f4
ctest_build: Pass projectDir to GenerateBuildCommanda6c0299
CTest: Simplify ctest_* command source/build dir lookup1ca9318
VS: Add test for building MSBuild project in subdir3cd4000
VS: Use .sln parser to build targets in subdirs with msbuild (#13623)df035e4
VS: Create parser for Visual Studio .sln filesde8be9e
Add projectDir parameter to GenerateBuildCommand
This commit is contained in:
commit
e1178478b7
|
@ -357,6 +357,10 @@ if (WIN32)
|
|||
cmLocalVisualStudio7Generator.h
|
||||
cmLocalVisualStudioGenerator.cxx
|
||||
cmLocalVisualStudioGenerator.h
|
||||
cmVisualStudioSlnData.h
|
||||
cmVisualStudioSlnData.cxx
|
||||
cmVisualStudioSlnParser.h
|
||||
cmVisualStudioSlnParser.cxx
|
||||
cmVisualStudioWCEPlatformParser.h
|
||||
cmVisualStudioWCEPlatformParser.cxx
|
||||
cmWin32ProcessExecution.cxx
|
||||
|
|
|
@ -638,7 +638,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
|
|||
= this->MakefileMap->GetDefinition("CMAKE_MAKE_PROGRAM");
|
||||
std::string buildCommand
|
||||
= globalGenerator->GenerateBuildCommand(cmakeMakeProgram,
|
||||
installProjectName.c_str(), 0,
|
||||
installProjectName.c_str(), 0, 0,
|
||||
globalGenerator->GetPreinstallTargetName(),
|
||||
buildConfig, false, false);
|
||||
cmCPackLogger(cmCPackLog::LOG_DEBUG,
|
||||
|
|
|
@ -130,10 +130,11 @@ cmCTestGenericHandler* cmCTestBuildCommand::InitializeHandler()
|
|||
cmakeBuildConfiguration = config;
|
||||
}
|
||||
|
||||
std::string dir = this->CTest->GetCTestConfiguration("BuildDirectory");
|
||||
std::string buildCommand
|
||||
= this->GlobalGenerator->
|
||||
GenerateBuildCommand(cmakeMakeProgram,
|
||||
cmakeProjectName,
|
||||
cmakeProjectName, dir.c_str(),
|
||||
cmakeBuildAdditionalFlags, cmakeBuildTarget,
|
||||
cmakeBuildConfiguration, true, false);
|
||||
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
|
||||
|
|
|
@ -31,32 +31,6 @@ cmCTestGenericHandler* cmCTestConfigureCommand::InitializeHandler()
|
|||
cmSystemTools::ExpandListArgument(this->Values[ctc_OPTIONS], options);
|
||||
}
|
||||
|
||||
if ( this->Values[ct_BUILD] )
|
||||
{
|
||||
this->CTest->SetCTestConfiguration("BuildDirectory",
|
||||
cmSystemTools::CollapseFullPath(
|
||||
this->Values[ct_BUILD]).c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
this->CTest->SetCTestConfiguration("BuildDirectory",
|
||||
cmSystemTools::CollapseFullPath(
|
||||
this->Makefile->GetSafeDefinition("CTEST_BINARY_DIRECTORY")).c_str());
|
||||
}
|
||||
|
||||
if ( this->Values[ct_SOURCE] )
|
||||
{
|
||||
this->CTest->SetCTestConfiguration("SourceDirectory",
|
||||
cmSystemTools::CollapseFullPath(
|
||||
this->Values[ct_SOURCE]).c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
this->CTest->SetCTestConfiguration("SourceDirectory",
|
||||
cmSystemTools::CollapseFullPath(
|
||||
this->Makefile->GetSafeDefinition("CTEST_SOURCE_DIRECTORY")).c_str());
|
||||
}
|
||||
|
||||
if ( this->CTest->GetCTestConfiguration("BuildDirectory").empty() )
|
||||
{
|
||||
this->SetError("Build directory not specified. Either use BUILD "
|
||||
|
|
|
@ -70,19 +70,6 @@ bool cmCTestHandlerCommand
|
|||
this->CTest->SetConfigType(ctestConfigType);
|
||||
}
|
||||
|
||||
cmCTestLog(this->CTest, DEBUG, "Initialize handler" << std::endl;);
|
||||
cmCTestGenericHandler* handler = this->InitializeHandler();
|
||||
if ( !handler )
|
||||
{
|
||||
cmCTestLog(this->CTest, ERROR_MESSAGE,
|
||||
"Cannot instantiate test handler " << this->GetName()
|
||||
<< std::endl);
|
||||
return false;
|
||||
}
|
||||
|
||||
handler->SetAppendXML(this->AppendXML);
|
||||
|
||||
handler->PopulateCustomVectors(this->Makefile);
|
||||
if ( this->Values[ct_BUILD] )
|
||||
{
|
||||
this->CTest->SetCTestConfiguration("BuildDirectory",
|
||||
|
@ -119,6 +106,20 @@ bool cmCTestHandlerCommand
|
|||
cmSystemTools::CollapseFullPath(
|
||||
this->Makefile->GetSafeDefinition("CTEST_SOURCE_DIRECTORY")).c_str());
|
||||
}
|
||||
|
||||
cmCTestLog(this->CTest, DEBUG, "Initialize handler" << std::endl;);
|
||||
cmCTestGenericHandler* handler = this->InitializeHandler();
|
||||
if ( !handler )
|
||||
{
|
||||
cmCTestLog(this->CTest, ERROR_MESSAGE,
|
||||
"Cannot instantiate test handler " << this->GetName()
|
||||
<< std::endl);
|
||||
return false;
|
||||
}
|
||||
|
||||
handler->SetAppendXML(this->AppendXML);
|
||||
|
||||
handler->PopulateCustomVectors(this->Makefile);
|
||||
if ( this->Values[ct_SUBMIT_INDEX] )
|
||||
{
|
||||
if(!this->CTest->GetDropSiteCDash() && this->CTest->GetDartVersion() <= 1)
|
||||
|
|
|
@ -122,7 +122,7 @@ bool cmBuildCommand
|
|||
//
|
||||
std::string makecommand = this->Makefile->GetLocalGenerator()
|
||||
->GetGlobalGenerator()->GenerateBuildCommand
|
||||
(makeprogram, project_name, 0, target, configuration, true, false);
|
||||
(makeprogram, project_name, 0, 0, target, configuration, true, false);
|
||||
|
||||
this->Makefile->AddDefinition(variable, makecommand.c_str());
|
||||
|
||||
|
@ -153,7 +153,7 @@ bool cmBuildCommand
|
|||
|
||||
std::string makecommand = this->Makefile->GetLocalGenerator()
|
||||
->GetGlobalGenerator()->GenerateBuildCommand
|
||||
(makeprogram.c_str(), this->Makefile->GetProjectName(), 0,
|
||||
(makeprogram.c_str(), this->Makefile->GetProjectName(), 0, 0,
|
||||
0, configType.c_str(), true, false);
|
||||
|
||||
if(cacheValue)
|
||||
|
|
|
@ -1340,11 +1340,13 @@ int cmGlobalGenerator::TryCompile(const char *srcdir, const char *bindir,
|
|||
|
||||
std::string cmGlobalGenerator
|
||||
::GenerateBuildCommand(const char* makeProgram, const char *projectName,
|
||||
const char* additionalOptions, const char *targetName,
|
||||
const char* config, bool ignoreErrors, bool)
|
||||
const char *projectDir, const char* additionalOptions,
|
||||
const char *targetName, const char* config,
|
||||
bool ignoreErrors, bool)
|
||||
{
|
||||
// Project name and config are not used yet.
|
||||
// Project name & dir and config are not used yet.
|
||||
(void)projectName;
|
||||
(void)projectDir;
|
||||
(void)config;
|
||||
|
||||
std::string makeCommand =
|
||||
|
@ -1411,7 +1413,7 @@ int cmGlobalGenerator::Build(
|
|||
if (clean)
|
||||
{
|
||||
std::string cleanCommand =
|
||||
this->GenerateBuildCommand(makeCommandCSTR, projectName,
|
||||
this->GenerateBuildCommand(makeCommandCSTR, projectName, bindir,
|
||||
0, "clean", config, false, fast);
|
||||
if(output)
|
||||
{
|
||||
|
@ -1443,7 +1445,7 @@ int cmGlobalGenerator::Build(
|
|||
|
||||
// now build
|
||||
std::string makeCommand =
|
||||
this->GenerateBuildCommand(makeCommandCSTR, projectName,
|
||||
this->GenerateBuildCommand(makeCommandCSTR, projectName, bindir,
|
||||
extraOptions, target,
|
||||
config, false, fast);
|
||||
if(output)
|
||||
|
|
|
@ -121,9 +121,10 @@ public:
|
|||
|
||||
virtual std::string GenerateBuildCommand(
|
||||
const char* makeProgram,
|
||||
const char *projectName, const char* additionalOptions,
|
||||
const char *targetName,
|
||||
const char* config, bool ignoreErrors, bool fast);
|
||||
const char *projectName, const char *projectDir,
|
||||
const char* additionalOptions,
|
||||
const char *targetName, const char* config,
|
||||
bool ignoreErrors, bool fast);
|
||||
|
||||
|
||||
///! Set the CMake instance
|
||||
|
|
|
@ -523,14 +523,16 @@ bool cmGlobalNinjaGenerator::UsingMinGW = false;
|
|||
std::string cmGlobalNinjaGenerator
|
||||
::GenerateBuildCommand(const char* makeProgram,
|
||||
const char* projectName,
|
||||
const char* projectDir,
|
||||
const char* additionalOptions,
|
||||
const char* targetName,
|
||||
const char* config,
|
||||
bool ignoreErrors,
|
||||
bool fast)
|
||||
{
|
||||
// Project name and config are not used yet.
|
||||
// Project name & dir and config are not used yet.
|
||||
(void)projectName;
|
||||
(void)projectDir;
|
||||
(void)config;
|
||||
// Ninja does not have -i equivalent option yet.
|
||||
(void)ignoreErrors;
|
||||
|
|
|
@ -191,6 +191,7 @@ public:
|
|||
/// Overloaded methods. @see cmGlobalGenerator::GenerateBuildCommand()
|
||||
virtual std::string GenerateBuildCommand(const char* makeProgram,
|
||||
const char* projectName,
|
||||
const char* projectDir,
|
||||
const char* additionalOptions,
|
||||
const char* targetName,
|
||||
const char* config,
|
||||
|
|
|
@ -517,11 +517,13 @@ cmGlobalUnixMakefileGenerator3
|
|||
|
||||
std::string cmGlobalUnixMakefileGenerator3
|
||||
::GenerateBuildCommand(const char* makeProgram, const char *projectName,
|
||||
const char* additionalOptions, const char *targetName,
|
||||
const char* config, bool ignoreErrors, bool fast)
|
||||
const char *projectDir, const char* additionalOptions,
|
||||
const char *targetName, const char* config,
|
||||
bool ignoreErrors, bool fast)
|
||||
{
|
||||
// Project name and config are not used yet.
|
||||
// Project name & dir and config are not used yet.
|
||||
(void)projectName;
|
||||
(void)projectDir;
|
||||
(void)config;
|
||||
|
||||
std::string makeCommand =
|
||||
|
|
|
@ -107,7 +107,8 @@ public:
|
|||
// change the build command for speed
|
||||
virtual std::string GenerateBuildCommand
|
||||
(const char* makeProgram,
|
||||
const char *projectName, const char* additionalOptions,
|
||||
const char *projectName, const char *projectDir,
|
||||
const char* additionalOptions,
|
||||
const char *targetName,
|
||||
const char* config, bool ignoreErrors, bool fast);
|
||||
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
#include "cmLocalVisualStudio10Generator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmSourceFile.h"
|
||||
#include "cmVisualStudioSlnData.h"
|
||||
#include "cmVisualStudioSlnParser.h"
|
||||
#include "cmake.h"
|
||||
|
||||
static const char vs10Win32generatorName[] = "Visual Studio 10";
|
||||
|
@ -215,7 +217,7 @@ std::string cmGlobalVisualStudio10Generator::GetUserMacrosRegKeyBase()
|
|||
|
||||
std::string cmGlobalVisualStudio10Generator
|
||||
::GenerateBuildCommand(const char* makeProgram,
|
||||
const char *projectName,
|
||||
const char *projectName, const char *projectDir,
|
||||
const char* additionalOptions, const char *targetName,
|
||||
const char* config, bool ignoreErrors, bool fast)
|
||||
{
|
||||
|
@ -230,7 +232,8 @@ std::string cmGlobalVisualStudio10Generator
|
|||
lowerCaseCommand.find("VCExpress") != std::string::npos)
|
||||
{
|
||||
return cmGlobalVisualStudio7Generator::GenerateBuildCommand(makeProgram,
|
||||
projectName, additionalOptions, targetName, config, ignoreErrors, fast);
|
||||
projectName, projectDir, additionalOptions, targetName, config,
|
||||
ignoreErrors, fast);
|
||||
}
|
||||
|
||||
// Otherwise, assume MSBuild command line, and construct accordingly.
|
||||
|
@ -258,9 +261,38 @@ std::string cmGlobalVisualStudio10Generator
|
|||
}
|
||||
else
|
||||
{
|
||||
std::string targetProject(targetName);
|
||||
targetProject += ".vcxproj";
|
||||
if (targetProject.find('/') == std::string::npos)
|
||||
{
|
||||
// it might be in a subdir
|
||||
cmVisualStudioSlnParser parser;
|
||||
cmSlnData slnData;
|
||||
std::string slnFile;
|
||||
if (projectDir && *projectDir)
|
||||
{
|
||||
slnFile = projectDir;
|
||||
slnFile += '/';
|
||||
slnFile += projectName;
|
||||
}
|
||||
else
|
||||
{
|
||||
slnFile = projectName;
|
||||
}
|
||||
if (parser.ParseFile(slnFile + ".sln", slnData,
|
||||
cmVisualStudioSlnParser::DataGroupProjects))
|
||||
{
|
||||
if (cmSlnProjectEntry const* proj =
|
||||
slnData.GetProjectByName(targetName))
|
||||
{
|
||||
targetProject = proj->GetRelativePath();
|
||||
cmSystemTools::ConvertToUnixSlashes(targetProject);
|
||||
}
|
||||
}
|
||||
}
|
||||
makeCommand += " ";
|
||||
makeCommand += targetProject;
|
||||
makeCommand += " ";
|
||||
makeCommand += targetName;
|
||||
makeCommand += ".vcxproj ";
|
||||
}
|
||||
makeCommand += "/p:Configuration=";
|
||||
if(config && strlen(config))
|
||||
|
|
|
@ -32,7 +32,7 @@ public:
|
|||
|
||||
virtual std::string
|
||||
GenerateBuildCommand(const char* makeProgram,
|
||||
const char *projectName,
|
||||
const char *projectName, const char *projectDir,
|
||||
const char* additionalOptions, const char *targetName,
|
||||
const char* config, bool ignoreErrors, bool);
|
||||
|
||||
|
|
|
@ -80,12 +80,15 @@ void cmGlobalVisualStudio6Generator::GenerateConfigurations(cmMakefile* mf)
|
|||
std::string cmGlobalVisualStudio6Generator
|
||||
::GenerateBuildCommand(const char* makeProgram,
|
||||
const char *projectName,
|
||||
const char *projectDir,
|
||||
const char* additionalOptions,
|
||||
const char *targetName,
|
||||
const char* config,
|
||||
bool ignoreErrors,
|
||||
bool)
|
||||
{
|
||||
// Visual studio 6 doesn't need project dir
|
||||
(void) projectDir;
|
||||
// Ingoring errors is not implemented in visual studio 6
|
||||
(void) ignoreErrors;
|
||||
|
||||
|
|
|
@ -54,6 +54,7 @@ public:
|
|||
*/
|
||||
virtual std::string GenerateBuildCommand(const char* makeProgram,
|
||||
const char *projectName,
|
||||
const char *projectDir,
|
||||
const char* additionalOptions,
|
||||
const char *targetName,
|
||||
const char* config,
|
||||
|
|
|
@ -56,10 +56,12 @@ void cmGlobalVisualStudio7Generator
|
|||
|
||||
std::string cmGlobalVisualStudio7Generator
|
||||
::GenerateBuildCommand(const char* makeProgram,
|
||||
const char *projectName,
|
||||
const char *projectName, const char *projectDir,
|
||||
const char* additionalOptions, const char *targetName,
|
||||
const char* config, bool ignoreErrors, bool)
|
||||
{
|
||||
// Visual studio 7 doesn't need project dir
|
||||
(void) projectDir;
|
||||
// Ingoring errors is not implemented in visual studio 6
|
||||
(void) ignoreErrors;
|
||||
|
||||
|
|
|
@ -55,6 +55,7 @@ public:
|
|||
*/
|
||||
virtual std::string GenerateBuildCommand(const char* makeProgram,
|
||||
const char *projectName,
|
||||
const char *projectDir,
|
||||
const char* additionalOptions,
|
||||
const char *targetName,
|
||||
const char* config,
|
||||
|
|
|
@ -260,6 +260,7 @@ void cmGlobalXCodeGenerator::EnableLanguage(std::vector<std::string>const&
|
|||
std::string cmGlobalXCodeGenerator
|
||||
::GenerateBuildCommand(const char* makeProgram,
|
||||
const char *projectName,
|
||||
const char *projectDir,
|
||||
const char* additionalOptions,
|
||||
const char *targetName,
|
||||
const char* config,
|
||||
|
@ -268,6 +269,7 @@ std::string cmGlobalXCodeGenerator
|
|||
{
|
||||
// Config is not used yet
|
||||
(void) ignoreErrors;
|
||||
(void) projectDir;
|
||||
|
||||
// now build the test
|
||||
if(makeProgram == 0 || !strlen(makeProgram))
|
||||
|
|
|
@ -55,6 +55,7 @@ public:
|
|||
*/
|
||||
virtual std::string GenerateBuildCommand(const char* makeProgram,
|
||||
const char *projectName,
|
||||
const char *projectDir,
|
||||
const char* additionalOptions,
|
||||
const char *targetName,
|
||||
const char* config,
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2013 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
Distributed under the OSI-approved BSD License (the "License");
|
||||
see accompanying file Copyright.txt for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the License for more information.
|
||||
============================================================================*/
|
||||
#include "cmVisualStudioSlnData.h"
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
const cmSlnProjectEntry*
|
||||
cmSlnData::GetProjectByGUID(const std::string& projectGUID) const
|
||||
{
|
||||
ProjectStorage::const_iterator it(ProjectsByGUID.find(projectGUID));
|
||||
if (it != ProjectsByGUID.end())
|
||||
return &it->second;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
const cmSlnProjectEntry*
|
||||
cmSlnData::GetProjectByName(const std::string& projectName) const
|
||||
{
|
||||
ProjectStringIndex::const_iterator it(ProjectNameIndex.find(projectName));
|
||||
if (it != ProjectNameIndex.end())
|
||||
return &it->second->second;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
std::vector<cmSlnProjectEntry> cmSlnData::GetProjects() const
|
||||
{
|
||||
ProjectStringIndex::const_iterator it(this->ProjectNameIndex.begin()),
|
||||
itEnd(this->ProjectNameIndex.end());
|
||||
std::vector<cmSlnProjectEntry> result;
|
||||
for (; it != itEnd; ++it)
|
||||
result.push_back(it->second->second);
|
||||
return result;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
cmSlnProjectEntry* cmSlnData::AddProject(
|
||||
const std::string& projectGUID,
|
||||
const std::string& projectName,
|
||||
const std::string& projectRelativePath)
|
||||
{
|
||||
ProjectStorage::iterator it(ProjectsByGUID.find(projectGUID));
|
||||
if (it != ProjectsByGUID.end())
|
||||
return NULL;
|
||||
it = ProjectsByGUID.insert(
|
||||
ProjectStorage::value_type(
|
||||
projectGUID,
|
||||
cmSlnProjectEntry(projectGUID, projectName, projectRelativePath))).first;
|
||||
ProjectNameIndex[projectName] = it;
|
||||
return &it->second;
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2013 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
Distributed under the OSI-approved BSD License (the "License");
|
||||
see accompanying file Copyright.txt for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the License for more information.
|
||||
============================================================================*/
|
||||
#ifndef cmVisualStudioSlnData_h
|
||||
#define cmVisualStudioSlnData_h
|
||||
|
||||
#include "cmStandardIncludes.h"
|
||||
|
||||
class cmSlnProjectEntry
|
||||
{
|
||||
public:
|
||||
cmSlnProjectEntry() {}
|
||||
cmSlnProjectEntry(const std::string& guid,
|
||||
const std::string& name,
|
||||
const std::string& relativePath)
|
||||
: Guid(guid), Name(name), RelativePath(relativePath)
|
||||
{}
|
||||
|
||||
std::string GetGUID() const { return Guid; }
|
||||
std::string GetName() const { return Name; }
|
||||
std::string GetRelativePath() const { return RelativePath; }
|
||||
|
||||
private:
|
||||
std::string Guid, Name, RelativePath;
|
||||
};
|
||||
|
||||
|
||||
class cmSlnData
|
||||
{
|
||||
public:
|
||||
const cmSlnProjectEntry*
|
||||
GetProjectByGUID(const std::string& projectGUID) const;
|
||||
|
||||
const cmSlnProjectEntry*
|
||||
GetProjectByName(const std::string& projectName) const;
|
||||
|
||||
std::vector<cmSlnProjectEntry> GetProjects() const;
|
||||
|
||||
cmSlnProjectEntry* AddProject(const std::string& projectGUID,
|
||||
const std::string& projectName,
|
||||
const std::string& projectRelativePath);
|
||||
|
||||
private:
|
||||
typedef std::map<std::string, cmSlnProjectEntry> ProjectStorage;
|
||||
ProjectStorage ProjectsByGUID;
|
||||
typedef std::map<std::string, ProjectStorage::iterator> ProjectStringIndex;
|
||||
ProjectStringIndex ProjectNameIndex;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -0,0 +1,712 @@
|
|||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2013 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
Distributed under the OSI-approved BSD License (the "License");
|
||||
see accompanying file Copyright.txt for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the License for more information.
|
||||
============================================================================*/
|
||||
#include "cmVisualStudioSlnParser.h"
|
||||
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmVisualStudioSlnData.h"
|
||||
|
||||
#include <cassert>
|
||||
#include <stack>
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
namespace
|
||||
{
|
||||
enum LineFormat
|
||||
{
|
||||
LineMultiValueTag,
|
||||
LineSingleValueTag,
|
||||
LineKeyValuePair,
|
||||
LineVerbatim
|
||||
};
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
class cmVisualStudioSlnParser::ParsedLine
|
||||
{
|
||||
public:
|
||||
bool IsComment() const;
|
||||
bool IsKeyValuePair() const;
|
||||
|
||||
const std::string& GetTag() const { return this->Tag; }
|
||||
const std::string& GetArg() const { return this->Arg.first; }
|
||||
std::string GetArgVerbatim() const;
|
||||
size_t GetValueCount() const { return this->Values.size(); }
|
||||
const std::string& GetValue(size_t idxValue) const;
|
||||
std::string GetValueVerbatim(size_t idxValue) const;
|
||||
|
||||
void SetTag(const std::string& tag) { this->Tag = tag; }
|
||||
void SetArg(const std::string& arg) { this->Arg = StringData(arg, false); }
|
||||
void SetQuotedArg(const std::string& arg)
|
||||
{ this->Arg = StringData(arg, true); }
|
||||
void AddValue(const std::string& value)
|
||||
{ this->Values.push_back(StringData(value, false)); }
|
||||
void AddQuotedValue(const std::string& value)
|
||||
{ this->Values.push_back(StringData(value, true)); }
|
||||
|
||||
void CopyVerbatim(const std::string& line) { this->Tag = line; }
|
||||
|
||||
private:
|
||||
typedef std::pair<std::string, bool> StringData;
|
||||
std::string Tag;
|
||||
StringData Arg;
|
||||
std::vector<StringData> Values;
|
||||
static const std::string BadString;
|
||||
static const std::string Quote;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
const std::string cmVisualStudioSlnParser::ParsedLine::BadString;
|
||||
const std::string cmVisualStudioSlnParser::ParsedLine::Quote("\"");
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::ParsedLine::IsComment() const
|
||||
{
|
||||
assert(!this->Tag.empty());
|
||||
return (this->Tag[0]== '#');
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::ParsedLine::IsKeyValuePair() const
|
||||
{
|
||||
assert(!this->Tag.empty());
|
||||
return this->Arg.first.empty() && this->Values.size() == 1;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
std::string cmVisualStudioSlnParser::ParsedLine::GetArgVerbatim() const
|
||||
{
|
||||
if (this->Arg.second)
|
||||
return Quote + this->Arg.first + Quote;
|
||||
else
|
||||
return this->Arg.first;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
const std::string&
|
||||
cmVisualStudioSlnParser::ParsedLine::GetValue(size_t idxValue) const
|
||||
{
|
||||
if (idxValue < this->Values.size())
|
||||
return this->Values[idxValue].first;
|
||||
else
|
||||
return BadString;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
std::string
|
||||
cmVisualStudioSlnParser::ParsedLine::GetValueVerbatim(size_t idxValue) const
|
||||
{
|
||||
if (idxValue < this->Values.size())
|
||||
{
|
||||
const StringData& data = this->Values[idxValue];
|
||||
if (data.second)
|
||||
return Quote + data.first + Quote;
|
||||
else
|
||||
return data.first;
|
||||
}
|
||||
else
|
||||
return BadString;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
class cmVisualStudioSlnParser::State
|
||||
{
|
||||
public:
|
||||
explicit State(DataGroupSet requestedData);
|
||||
|
||||
size_t GetCurrentLine() const { return this->CurrentLine; }
|
||||
bool ReadLine(std::istream& input, std::string& line);
|
||||
|
||||
LineFormat NextLineFormat() const;
|
||||
|
||||
bool Process(const cmVisualStudioSlnParser::ParsedLine& line,
|
||||
cmSlnData& output,
|
||||
cmVisualStudioSlnParser::ResultData& result);
|
||||
|
||||
bool Finished(cmVisualStudioSlnParser::ResultData& result);
|
||||
|
||||
private:
|
||||
enum FileState
|
||||
{
|
||||
FileStateStart,
|
||||
FileStateTopLevel,
|
||||
FileStateProject,
|
||||
FileStateProjectDependencies,
|
||||
FileStateGlobal,
|
||||
FileStateSolutionConfigurations,
|
||||
FileStateProjectConfigurations,
|
||||
FileStateSolutionFilters,
|
||||
FileStateGlobalSection,
|
||||
FileStateIgnore
|
||||
};
|
||||
std::stack<FileState> Stack;
|
||||
std::string EndIgnoreTag;
|
||||
DataGroupSet RequestedData;
|
||||
size_t CurrentLine;
|
||||
|
||||
void IgnoreUntilTag(const std::string& endTag);
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
cmVisualStudioSlnParser::State::State(DataGroupSet requestedData) :
|
||||
RequestedData(requestedData),
|
||||
CurrentLine(0)
|
||||
{
|
||||
if (this->RequestedData.test(DataGroupProjectDependenciesBit))
|
||||
this->RequestedData.set(DataGroupProjectsBit);
|
||||
this->Stack.push(FileStateStart);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::State::ReadLine(std::istream& input,
|
||||
std::string& line)
|
||||
{
|
||||
++this->CurrentLine;
|
||||
return !std::getline(input, line).fail();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
LineFormat cmVisualStudioSlnParser::State::NextLineFormat() const
|
||||
{
|
||||
switch (this->Stack.top())
|
||||
{
|
||||
case FileStateStart: return LineVerbatim;
|
||||
case FileStateTopLevel: return LineMultiValueTag;
|
||||
case FileStateProject: return LineSingleValueTag;
|
||||
case FileStateProjectDependencies: return LineKeyValuePair;
|
||||
case FileStateGlobal: return LineSingleValueTag;
|
||||
case FileStateSolutionConfigurations: return LineKeyValuePair;
|
||||
case FileStateProjectConfigurations: return LineKeyValuePair;
|
||||
case FileStateSolutionFilters: return LineKeyValuePair;
|
||||
case FileStateGlobalSection: return LineKeyValuePair;
|
||||
case FileStateIgnore: return LineVerbatim;
|
||||
default:
|
||||
assert(false);
|
||||
return LineVerbatim;
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::State::Process(
|
||||
const cmVisualStudioSlnParser::ParsedLine& line,
|
||||
cmSlnData& output, cmVisualStudioSlnParser::ResultData& result)
|
||||
{
|
||||
assert(!line.IsComment());
|
||||
switch (this->Stack.top())
|
||||
{
|
||||
case FileStateStart:
|
||||
if (!cmSystemTools::StringStartsWith(
|
||||
line.GetTag().c_str(), "Microsoft Visual Studio Solution File"))
|
||||
{
|
||||
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
this->Stack.pop();
|
||||
this->Stack.push(FileStateTopLevel);
|
||||
break;
|
||||
case FileStateTopLevel:
|
||||
if (line.GetTag().compare("Project") == 0)
|
||||
{
|
||||
if (line.GetValueCount() != 3)
|
||||
{
|
||||
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
if (this->RequestedData.test(DataGroupProjectsBit))
|
||||
{
|
||||
if (!output.AddProject(line.GetValue(2),
|
||||
line.GetValue(0),
|
||||
line.GetValue(1)))
|
||||
{
|
||||
result.SetError(ResultErrorInputData, this->GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
this->Stack.push(FileStateProject);
|
||||
}
|
||||
else
|
||||
this->IgnoreUntilTag("EndProject");
|
||||
}
|
||||
else if (line.GetTag().compare("Global") == 0)
|
||||
this->Stack.push(FileStateGlobal);
|
||||
else
|
||||
{
|
||||
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case FileStateProject:
|
||||
if (line.GetTag().compare("EndProject") == 0)
|
||||
this->Stack.pop();
|
||||
else if (line.GetTag().compare("ProjectSection") == 0)
|
||||
{
|
||||
if (line.GetArg().compare("ProjectDependencies") == 0 &&
|
||||
line.GetValue(0).compare("postProject") == 0)
|
||||
{
|
||||
if (this->RequestedData.test(DataGroupProjectDependenciesBit))
|
||||
this->Stack.push(FileStateProjectDependencies);
|
||||
else
|
||||
this->IgnoreUntilTag("EndProjectSection");
|
||||
}
|
||||
else
|
||||
this->IgnoreUntilTag("EndProjectSection");
|
||||
}
|
||||
else
|
||||
{
|
||||
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case FileStateProjectDependencies:
|
||||
if (line.GetTag().compare("EndProjectSection") == 0)
|
||||
this->Stack.pop();
|
||||
else if (line.IsKeyValuePair())
|
||||
// implement dependency storing here, once needed
|
||||
;
|
||||
else
|
||||
{
|
||||
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case FileStateGlobal:
|
||||
if (line.GetTag().compare("EndGlobal") == 0)
|
||||
this->Stack.pop();
|
||||
else if (line.GetTag().compare("GlobalSection") == 0)
|
||||
{
|
||||
if (line.GetArg().compare("SolutionConfigurationPlatforms") == 0 &&
|
||||
line.GetValue(0).compare("preSolution") == 0)
|
||||
{
|
||||
if (this->RequestedData.test(DataGroupSolutionConfigurationsBit))
|
||||
this->Stack.push(FileStateSolutionConfigurations);
|
||||
else
|
||||
this->IgnoreUntilTag("EndGlobalSection");
|
||||
}
|
||||
else if (line.GetArg().compare("ProjectConfigurationPlatforms") == 0 &&
|
||||
line.GetValue(0).compare("postSolution") == 0)
|
||||
{
|
||||
if (this->RequestedData.test(DataGroupProjectConfigurationsBit))
|
||||
this->Stack.push(FileStateProjectConfigurations);
|
||||
else
|
||||
this->IgnoreUntilTag("EndGlobalSection");
|
||||
}
|
||||
else if (line.GetArg().compare("NestedProjects") == 0 &&
|
||||
line.GetValue(0).compare("preSolution") == 0)
|
||||
{
|
||||
if (this->RequestedData.test(DataGroupSolutionFiltersBit))
|
||||
this->Stack.push(FileStateSolutionFilters);
|
||||
else
|
||||
this->IgnoreUntilTag("EndGlobalSection");
|
||||
}
|
||||
else if (this->RequestedData.test(DataGroupGenericGlobalSectionsBit))
|
||||
this->Stack.push(FileStateGlobalSection);
|
||||
else
|
||||
this->IgnoreUntilTag("EndGlobalSection");
|
||||
}
|
||||
else
|
||||
{
|
||||
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case FileStateSolutionConfigurations:
|
||||
if (line.GetTag().compare("EndGlobalSection") == 0)
|
||||
this->Stack.pop();
|
||||
else if (line.IsKeyValuePair())
|
||||
// implement configuration storing here, once needed
|
||||
;
|
||||
else
|
||||
{
|
||||
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case FileStateProjectConfigurations:
|
||||
if (line.GetTag().compare("EndGlobalSection") == 0)
|
||||
this->Stack.pop();
|
||||
else if (line.IsKeyValuePair())
|
||||
// implement configuration storing here, once needed
|
||||
;
|
||||
else
|
||||
{
|
||||
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case FileStateSolutionFilters:
|
||||
if (line.GetTag().compare("EndGlobalSection") == 0)
|
||||
this->Stack.pop();
|
||||
else if (line.IsKeyValuePair())
|
||||
// implement filter storing here, once needed
|
||||
;
|
||||
else
|
||||
{
|
||||
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case FileStateGlobalSection:
|
||||
if (line.GetTag().compare("EndGlobalSection") == 0)
|
||||
this->Stack.pop();
|
||||
else if (line.IsKeyValuePair())
|
||||
// implement section storing here, once needed
|
||||
;
|
||||
else
|
||||
{
|
||||
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case FileStateIgnore:
|
||||
if (line.GetTag() == this->EndIgnoreTag)
|
||||
{
|
||||
this->Stack.pop();
|
||||
this->EndIgnoreTag = "";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
result.SetError(ResultErrorBadInternalState, this->GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::State::Finished(
|
||||
cmVisualStudioSlnParser::ResultData& result)
|
||||
{
|
||||
if (this->Stack.top() != FileStateTopLevel)
|
||||
{
|
||||
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
result.Result = ResultOK;
|
||||
return true;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmVisualStudioSlnParser::State::IgnoreUntilTag(const std::string& endTag)
|
||||
{
|
||||
this->Stack.push(FileStateIgnore);
|
||||
this->EndIgnoreTag = endTag;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
cmVisualStudioSlnParser::ResultData::ResultData()
|
||||
: Result(ResultOK)
|
||||
, ResultLine(0)
|
||||
{}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmVisualStudioSlnParser::ResultData::Clear()
|
||||
{
|
||||
*this = ResultData();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmVisualStudioSlnParser::ResultData::SetError(ParseResult error,
|
||||
size_t line)
|
||||
{
|
||||
this->Result = error;
|
||||
this->ResultLine = line;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
const cmVisualStudioSlnParser::DataGroupSet
|
||||
cmVisualStudioSlnParser::DataGroupProjects(
|
||||
1 << cmVisualStudioSlnParser::DataGroupProjectsBit);
|
||||
|
||||
const cmVisualStudioSlnParser::DataGroupSet
|
||||
cmVisualStudioSlnParser::DataGroupProjectDependencies(
|
||||
1 << cmVisualStudioSlnParser::DataGroupProjectDependenciesBit);
|
||||
|
||||
const cmVisualStudioSlnParser::DataGroupSet
|
||||
cmVisualStudioSlnParser::DataGroupSolutionConfigurations(
|
||||
1 << cmVisualStudioSlnParser::DataGroupSolutionConfigurationsBit);
|
||||
|
||||
const cmVisualStudioSlnParser::DataGroupSet
|
||||
cmVisualStudioSlnParser::DataGroupProjectConfigurations(
|
||||
1 << cmVisualStudioSlnParser::DataGroupProjectConfigurationsBit);
|
||||
|
||||
const cmVisualStudioSlnParser::DataGroupSet
|
||||
cmVisualStudioSlnParser::DataGroupSolutionFilters(
|
||||
1 << cmVisualStudioSlnParser::DataGroupSolutionFiltersBit);
|
||||
|
||||
const cmVisualStudioSlnParser::DataGroupSet
|
||||
cmVisualStudioSlnParser::DataGroupGenericGlobalSections(
|
||||
1 << cmVisualStudioSlnParser::DataGroupGenericGlobalSectionsBit);
|
||||
|
||||
const cmVisualStudioSlnParser::DataGroupSet
|
||||
cmVisualStudioSlnParser::DataGroupAll(~0);
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::Parse(std::istream& input,
|
||||
cmSlnData& output,
|
||||
DataGroupSet dataGroups)
|
||||
{
|
||||
this->LastResult.Clear();
|
||||
if (!this->IsDataGroupSetSupported(dataGroups))
|
||||
{
|
||||
this->LastResult.SetError(ResultErrorUnsupportedDataGroup, 0);
|
||||
return false;
|
||||
}
|
||||
State state(dataGroups);
|
||||
return this->ParseImpl(input, output, state);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::ParseFile(const std::string& file,
|
||||
cmSlnData& output,
|
||||
DataGroupSet dataGroups)
|
||||
{
|
||||
this->LastResult.Clear();
|
||||
if (!this->IsDataGroupSetSupported(dataGroups))
|
||||
{
|
||||
this->LastResult.SetError(ResultErrorUnsupportedDataGroup, 0);
|
||||
return false;
|
||||
}
|
||||
std::ifstream f(file.c_str());
|
||||
if (!f)
|
||||
{
|
||||
this->LastResult.SetError(ResultErrorOpeningInput, 0);
|
||||
return false;
|
||||
}
|
||||
State state(dataGroups);
|
||||
return this->ParseImpl(f, output, state);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
cmVisualStudioSlnParser::ParseResult
|
||||
cmVisualStudioSlnParser::GetParseResult() const
|
||||
{
|
||||
return this->LastResult.Result;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
size_t cmVisualStudioSlnParser::GetParseResultLine() const
|
||||
{
|
||||
return this->LastResult.ResultLine;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::GetParseHadBOM() const
|
||||
{
|
||||
return this->LastResult.HadBOM;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
cmVisualStudioSlnParser::IsDataGroupSetSupported(DataGroupSet dataGroups) const
|
||||
{
|
||||
return (dataGroups & DataGroupProjects) == dataGroups;
|
||||
//only supporting DataGroupProjects for now
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::ParseImpl(std::istream& input,
|
||||
cmSlnData& output,
|
||||
State& state)
|
||||
{
|
||||
std::string line;
|
||||
// Does the .sln start with a Byte Order Mark?
|
||||
if (!this->ParseBOM(input, line, state))
|
||||
return false;
|
||||
do
|
||||
{
|
||||
line = cmSystemTools::TrimWhitespace(line);
|
||||
if (line.empty())
|
||||
continue;
|
||||
ParsedLine parsedLine;
|
||||
switch (state.NextLineFormat())
|
||||
{
|
||||
case LineMultiValueTag:
|
||||
if (!this->ParseMultiValueTag(line, parsedLine, state))
|
||||
return false;
|
||||
break;
|
||||
case LineSingleValueTag:
|
||||
if (!this->ParseSingleValueTag(line, parsedLine, state))
|
||||
return false;
|
||||
break;
|
||||
case LineKeyValuePair:
|
||||
if (!this->ParseKeyValuePair(line, parsedLine, state))
|
||||
return false;
|
||||
break;
|
||||
case LineVerbatim:
|
||||
parsedLine.CopyVerbatim(line);
|
||||
break;
|
||||
}
|
||||
if (parsedLine.IsComment())
|
||||
continue;
|
||||
if (!state.Process(parsedLine, output, this->LastResult))
|
||||
return false;
|
||||
}
|
||||
while (state.ReadLine(input, line));
|
||||
return state.Finished(this->LastResult);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::ParseBOM(std::istream& input,
|
||||
std::string& line,
|
||||
State& state)
|
||||
{
|
||||
char bom[4];
|
||||
if (!input.get(bom, 4))
|
||||
{
|
||||
this->LastResult.SetError(ResultErrorReadingInput, 1);
|
||||
return false;
|
||||
}
|
||||
this->LastResult.HadBOM =
|
||||
(bom[0] == char(0xEF) && bom[1] == char(0xBB) && bom[2] == char(0xBF));
|
||||
if (!state.ReadLine(input, line))
|
||||
{
|
||||
this->LastResult.SetError(ResultErrorReadingInput, 1);
|
||||
return false;
|
||||
}
|
||||
if (!this->LastResult.HadBOM)
|
||||
line = bom + line; // it wasn't a BOM, prepend it to first line
|
||||
return true;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::ParseMultiValueTag(const std::string& line,
|
||||
ParsedLine& parsedLine,
|
||||
State& state)
|
||||
{
|
||||
size_t idxEqualSign = line.find('=');
|
||||
const std::string& fullTag = line.substr(0, idxEqualSign);
|
||||
if (!this->ParseTag(fullTag, parsedLine, state))
|
||||
return false;
|
||||
if (idxEqualSign != line.npos)
|
||||
{
|
||||
size_t idxFieldStart = idxEqualSign + 1;
|
||||
if (idxFieldStart < line.size())
|
||||
{
|
||||
size_t idxParsing = idxFieldStart;
|
||||
bool inQuotes = false;
|
||||
for (;;)
|
||||
{
|
||||
idxParsing = line.find_first_of(",\"", idxParsing);
|
||||
bool fieldOver = false;
|
||||
if (idxParsing == line.npos)
|
||||
{
|
||||
fieldOver = true;
|
||||
if (inQuotes)
|
||||
{
|
||||
this->LastResult.SetError(ResultErrorInputStructure,
|
||||
state.GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (line[idxParsing] == ',' && !inQuotes)
|
||||
fieldOver = true;
|
||||
else if (line[idxParsing] == '"')
|
||||
inQuotes = !inQuotes;
|
||||
if (fieldOver)
|
||||
{
|
||||
if (!this->ParseValue(line.substr(idxFieldStart,
|
||||
idxParsing - idxFieldStart),
|
||||
parsedLine))
|
||||
return false;
|
||||
if (idxParsing == line.npos)
|
||||
break; //end of last field
|
||||
idxFieldStart = idxParsing + 1;
|
||||
}
|
||||
++idxParsing;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::ParseSingleValueTag(const std::string& line,
|
||||
ParsedLine& parsedLine,
|
||||
State& state)
|
||||
{
|
||||
size_t idxEqualSign = line.find('=');
|
||||
const std::string& fullTag = line.substr(0, idxEqualSign);
|
||||
if (!this->ParseTag(fullTag, parsedLine, state))
|
||||
return false;
|
||||
if (idxEqualSign != line.npos)
|
||||
{
|
||||
if (!this->ParseValue(line.substr(idxEqualSign + 1), parsedLine))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::ParseKeyValuePair(const std::string& line,
|
||||
ParsedLine& parsedLine,
|
||||
State& /*state*/)
|
||||
{
|
||||
size_t idxEqualSign = line.find('=');
|
||||
if (idxEqualSign == line.npos)
|
||||
{
|
||||
parsedLine.CopyVerbatim(line);
|
||||
return true;
|
||||
}
|
||||
const std::string& key = line.substr(0, idxEqualSign);
|
||||
parsedLine.SetTag(cmSystemTools::TrimWhitespace(key));
|
||||
const std::string& value = line.substr(idxEqualSign + 1);
|
||||
parsedLine.AddValue(cmSystemTools::TrimWhitespace(value));
|
||||
return true;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::ParseTag(const std::string& fullTag,
|
||||
ParsedLine& parsedLine,
|
||||
State& state)
|
||||
{
|
||||
size_t idxLeftParen = fullTag.find('(');
|
||||
if (idxLeftParen == fullTag.npos)
|
||||
{
|
||||
parsedLine.SetTag(cmSystemTools::TrimWhitespace(fullTag));
|
||||
return true;
|
||||
}
|
||||
parsedLine.SetTag(
|
||||
cmSystemTools::TrimWhitespace(fullTag.substr(0, idxLeftParen)));
|
||||
size_t idxRightParen = fullTag.rfind(')');
|
||||
if (idxRightParen == fullTag.npos)
|
||||
{
|
||||
this->LastResult.SetError(ResultErrorInputStructure,
|
||||
state.GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
const std::string& arg = cmSystemTools::TrimWhitespace(
|
||||
fullTag.substr(idxLeftParen + 1, idxRightParen - idxLeftParen - 1));
|
||||
if (arg[0] == '"')
|
||||
{
|
||||
if (arg[arg.size() - 1] != '"')
|
||||
{
|
||||
this->LastResult.SetError(ResultErrorInputStructure,
|
||||
state.GetCurrentLine());
|
||||
return false;
|
||||
}
|
||||
parsedLine.SetQuotedArg(arg.substr(1, arg.size() - 2));
|
||||
}
|
||||
else
|
||||
parsedLine.SetArg(arg);
|
||||
return true;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmVisualStudioSlnParser::ParseValue(const std::string& value,
|
||||
ParsedLine& parsedLine)
|
||||
{
|
||||
const std::string& trimmed = cmSystemTools::TrimWhitespace(value);
|
||||
if (trimmed.empty())
|
||||
parsedLine.AddValue(trimmed);
|
||||
else if (trimmed[0] == '"' && trimmed[trimmed.size() - 1] == '"')
|
||||
parsedLine.AddQuotedValue(trimmed.substr(1, trimmed.size() - 2));
|
||||
else
|
||||
parsedLine.AddValue(trimmed);
|
||||
return true;
|
||||
}
|
|
@ -0,0 +1,118 @@
|
|||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2013 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
Distributed under the OSI-approved BSD License (the "License");
|
||||
see accompanying file Copyright.txt for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the License for more information.
|
||||
============================================================================*/
|
||||
#ifndef cmVisualStudioSlnParser_h
|
||||
#define cmVisualStudioSlnParser_h
|
||||
|
||||
#include "cmStandardIncludes.h"
|
||||
|
||||
#include <bitset>
|
||||
|
||||
|
||||
class cmSlnData;
|
||||
|
||||
|
||||
class cmVisualStudioSlnParser
|
||||
{
|
||||
public:
|
||||
enum ParseResult
|
||||
{
|
||||
ResultOK = 0,
|
||||
|
||||
ResultInternalError = -1,
|
||||
ResultExternalError = 1,
|
||||
|
||||
ResultErrorOpeningInput = ResultExternalError,
|
||||
ResultErrorReadingInput,
|
||||
ResultErrorInputStructure,
|
||||
ResultErrorInputData,
|
||||
|
||||
ResultErrorBadInternalState = ResultInternalError,
|
||||
ResultErrorUnsupportedDataGroup = ResultInternalError - 1
|
||||
};
|
||||
|
||||
enum DataGroup
|
||||
{
|
||||
DataGroupProjectsBit,
|
||||
DataGroupProjectDependenciesBit,
|
||||
DataGroupSolutionConfigurationsBit,
|
||||
DataGroupProjectConfigurationsBit,
|
||||
DataGroupSolutionFiltersBit,
|
||||
DataGroupGenericGlobalSectionsBit,
|
||||
DataGroupCount
|
||||
};
|
||||
|
||||
typedef std::bitset<DataGroupCount> DataGroupSet;
|
||||
|
||||
static const DataGroupSet DataGroupProjects;
|
||||
static const DataGroupSet DataGroupProjectDependencies;
|
||||
static const DataGroupSet DataGroupSolutionConfigurations;
|
||||
static const DataGroupSet DataGroupProjectConfigurations;
|
||||
static const DataGroupSet DataGroupSolutionFilters;
|
||||
static const DataGroupSet DataGroupGenericGlobalSections;
|
||||
static const DataGroupSet DataGroupAll;
|
||||
|
||||
bool Parse(std::istream& input,
|
||||
cmSlnData& output,
|
||||
DataGroupSet dataGroups = DataGroupAll);
|
||||
|
||||
bool ParseFile(const std::string& file,
|
||||
cmSlnData& output,
|
||||
DataGroupSet dataGroups = DataGroupAll);
|
||||
|
||||
ParseResult GetParseResult() const;
|
||||
|
||||
size_t GetParseResultLine() const;
|
||||
|
||||
bool GetParseHadBOM() const;
|
||||
|
||||
protected:
|
||||
class State;
|
||||
friend class State;
|
||||
class ParsedLine;
|
||||
|
||||
struct ResultData
|
||||
{
|
||||
ParseResult Result;
|
||||
size_t ResultLine;
|
||||
bool HadBOM;
|
||||
|
||||
ResultData();
|
||||
void Clear();
|
||||
void SetError(ParseResult error, size_t line);
|
||||
} LastResult;
|
||||
|
||||
bool IsDataGroupSetSupported(DataGroupSet dataGroups) const;
|
||||
|
||||
bool ParseImpl(std::istream& input, cmSlnData& output, State& state);
|
||||
|
||||
bool ParseBOM(std::istream& input, std::string& line, State& state);
|
||||
|
||||
bool ParseMultiValueTag(const std::string& line,
|
||||
ParsedLine& parsedLine,
|
||||
State& state);
|
||||
|
||||
bool ParseSingleValueTag(const std::string& line,
|
||||
ParsedLine& parsedLine,
|
||||
State& state);
|
||||
|
||||
bool ParseKeyValuePair(const std::string& line,
|
||||
ParsedLine& parsedLine,
|
||||
State& state);
|
||||
|
||||
bool ParseTag(const std::string& fullTag,
|
||||
ParsedLine& parsedLine,
|
||||
State& state);
|
||||
|
||||
bool ParseValue(const std::string& value, ParsedLine& parsedLine);
|
||||
};
|
||||
|
||||
#endif
|
|
@ -12,6 +12,14 @@ set(CMakeLib_TESTS
|
|||
testXMLSafe
|
||||
)
|
||||
|
||||
if(WIN32 AND NOT UNIX) # Just if(WIN32) when CMake >= 2.8.4 is required
|
||||
list(APPEND CMakeLib_TESTS
|
||||
testVisualStudioSlnParser
|
||||
)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/testVisualStudioSlnParser.h.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/testVisualStudioSlnParser.h @ONLY)
|
||||
endif()
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/testXMLParser.h.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/testXMLParser.h @ONLY)
|
||||
|
||||
|
|
|
@ -0,0 +1,185 @@
|
|||
#include "testVisualStudioSlnParser.h"
|
||||
|
||||
#include "cmVisualStudioSlnData.h"
|
||||
#include "cmVisualStudioSlnParser.h"
|
||||
|
||||
#include <cmsys/ios/iostream>
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
static bool parsedRight(cmVisualStudioSlnParser& parser,
|
||||
const std::string& file, cmSlnData& data,
|
||||
cmVisualStudioSlnParser::ParseResult expected =
|
||||
cmVisualStudioSlnParser::ResultOK)
|
||||
{
|
||||
if (parser.ParseFile(SOURCE_DIR "/testVisualStudioSlnParser_data/" + file
|
||||
+ "." SLN_EXTENSION,
|
||||
data, cmVisualStudioSlnParser::DataGroupProjects))
|
||||
{
|
||||
if (expected == cmVisualStudioSlnParser::ResultOK)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (parser.GetParseResult() == expected)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
cmsys_ios::cerr << "cmVisualStudioSlnParser mis-parsed " << file
|
||||
<< "." SLN_EXTENSION << "; expected result " << expected
|
||||
<< ", got " << parser.GetParseResult()
|
||||
<< cmsys_ios::endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
int testVisualStudioSlnParser(int, char*[])
|
||||
{
|
||||
cmVisualStudioSlnParser parser;
|
||||
|
||||
// Test clean parser
|
||||
if (parser.GetParseResult() != cmVisualStudioSlnParser::ResultOK)
|
||||
{
|
||||
cmsys_ios::cerr << "cmVisualStudioSlnParser initialisation failed"
|
||||
<< cmsys_ios::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Test parsing valid sln
|
||||
{
|
||||
cmSlnData data;
|
||||
if (!parsedRight(parser, "valid", data))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
const std::vector<cmSlnProjectEntry>& projects = data.GetProjects();
|
||||
const char * const names[] =
|
||||
{
|
||||
"3rdParty", "ALL_BUILD", "CMakeLib", "CMakeLibTests",
|
||||
"CMakePredefinedTargets", "CPackLib", "CTestDashboardTargets", "CTestLib",
|
||||
"Continuous", "Documentation",
|
||||
"Experimental", "INSTALL", "KWSys", "LIBCURL", "Nightly",
|
||||
"NightlyMemoryCheck", "PACKAGE", "RUN_TESTS", "Tests", "Utilities",
|
||||
"Win9xCompat", "ZERO_CHECK", "cmIML_test", "cmake", "cmbzip2", "cmcldeps",
|
||||
"cmcompress", "cmcurl", "cmexpat", "cmlibarchive", "cmsys",
|
||||
"cmsysEncodeExecutable", "cmsysProcessFwd9x", "cmsysTestDynload",
|
||||
"cmsysTestProcess", "cmsysTestSharedForward", "cmsysTestsC",
|
||||
"cmsysTestsCxx", "cmsys_c", "cmw9xcom", "cmzlib", "cpack", "ctest",
|
||||
"documentation", "memcheck_fail", "pseudo_BC", "pseudo_purify",
|
||||
"pseudo_valgrind", "test_clean", "uninstall"
|
||||
};
|
||||
const size_t expectedProjectCount = sizeof(names) / sizeof(*names);
|
||||
if (projects.size() != expectedProjectCount)
|
||||
{
|
||||
cmsys_ios::cerr << "cmVisualStudioSlnParser returned bad number of "
|
||||
<< "projects (" << projects.size() << " instead of "
|
||||
<< expectedProjectCount << ')'
|
||||
<< cmsys_ios::endl;
|
||||
return 1;
|
||||
}
|
||||
for (size_t idx = 0; idx < expectedProjectCount; ++idx)
|
||||
{
|
||||
if (projects[idx].GetName() != names[idx])
|
||||
{
|
||||
cmsys_ios::cerr << "cmVisualStudioSlnParser returned bad project #"
|
||||
<< idx << "; expected \"" << names[idx] << "\", got \""
|
||||
<< projects[idx].GetName() << '"'
|
||||
<< cmsys_ios::endl;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if (projects[0].GetRelativePath() != "Utilities\\3rdParty")
|
||||
{
|
||||
cmsys_ios::cerr << "cmVisualStudioSlnParser returned bad relative path of "
|
||||
<< "project 3rdParty; expected \"Utilities\\3rdParty\", "
|
||||
<< "got \"" << projects[0].GetRelativePath() << '"'
|
||||
<< cmsys_ios::endl;
|
||||
return 1;
|
||||
}
|
||||
if (projects[2].GetGUID() != "{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}")
|
||||
{
|
||||
cmsys_ios::cerr << "cmVisualStudioSlnParser returned bad relative path of "
|
||||
<< "project CMakeLib; expected "
|
||||
<< "\"{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}\", "
|
||||
<< "got \"" << projects[2].GetGUID() << '"'
|
||||
<< cmsys_ios::endl;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Test BOM parsing
|
||||
{
|
||||
cmSlnData data;
|
||||
|
||||
if (!parsedRight(parser, "bom", data))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (!parser.GetParseHadBOM())
|
||||
{
|
||||
cmsys_ios::cerr << "cmVisualStudioSlnParser didn't find BOM in bom."
|
||||
<< SLN_EXTENSION
|
||||
<< cmsys_ios::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!parsedRight(parser, "nobom", data))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (parser.GetParseHadBOM())
|
||||
{
|
||||
cmsys_ios::cerr << "cmVisualStudioSlnParser found BOM in nobom."
|
||||
<< SLN_EXTENSION
|
||||
<< cmsys_ios::endl;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Test invalid sln
|
||||
{
|
||||
{
|
||||
cmSlnData data;
|
||||
if (!parsedRight(parser, "err-nonexistent", data,
|
||||
cmVisualStudioSlnParser::ResultErrorOpeningInput))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
{
|
||||
cmSlnData data;
|
||||
if (!parsedRight(parser, "err-empty", data,
|
||||
cmVisualStudioSlnParser::ResultErrorReadingInput))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
const char * const files[] =
|
||||
{
|
||||
"header", "projectArgs", "topLevel", "projectContents", "projectSection",
|
||||
"global", "unclosed", "strayQuote", "strayParen", "strayQuote2"
|
||||
};
|
||||
for (size_t idx = 0; idx < sizeof(files) / sizeof(files[0]); ++idx)
|
||||
{
|
||||
cmSlnData data;
|
||||
if (!parsedRight(parser, std::string("err-structure-") + files[idx], data,
|
||||
cmVisualStudioSlnParser::ResultErrorInputStructure))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
{
|
||||
cmSlnData data;
|
||||
if (!parsedRight(parser, "err-data", data,
|
||||
cmVisualStudioSlnParser::ResultErrorInputData))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// All is well
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
#ifndef testVisualStudioSlnParser_h
|
||||
#define testVisualStudioSlnParser_h
|
||||
|
||||
#define SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@"
|
||||
#define SLN_EXTENSION "sln-file"
|
||||
|
||||
#endif
|
|
@ -0,0 +1 @@
|
|||
*.sln-file -crlf whitespace=cr-at-eol
|
|
@ -0,0 +1,2 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
|
@ -0,0 +1,6 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||
EndProject
|
|
@ -0,0 +1,9 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
EndGlobalSection
|
|
@ -0,0 +1,4 @@
|
|||
Microsoft Visual Studio Solution2 File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||
EndProject
|
|
@ -0,0 +1,4 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj"
|
||||
EndProject
|
|
@ -0,0 +1,6 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous2", "Continuous2.vcxproj", "{E5071091-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||
EndProject
|
||||
EndProject
|
|
@ -0,0 +1,11 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "ZERO_CHECK.vcxproj", "{90BC31D7-A3E8-4F04-8049-2236C239A044}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProject
|
||||
EndProject
|
|
@ -0,0 +1,4 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}" = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||
EndProject
|
|
@ -0,0 +1,4 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}
|
||||
EndProject
|
|
@ -0,0 +1,4 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}) = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||
EndProject
|
|
@ -0,0 +1,4 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
|
@ -0,0 +1,5 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Global
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
|
@ -0,0 +1,2 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
|
@ -0,0 +1,680 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ALL_BUILD", "ALL_BUILD.vcxproj", "{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||
{B025BD09-8389-4D9F-9150-F33418A664B1} = {B025BD09-8389-4D9F-9150-F33418A664B1}
|
||||
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8} = {94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}
|
||||
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8} = {1002C8FC-7242-4A69-AF51-C59BB10BA6D8}
|
||||
{0283B293-0067-4D02-ADA6-892704398F48} = {0283B293-0067-4D02-ADA6-892704398F48}
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B} = {48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}
|
||||
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8} = {6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84} = {A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE} = {4810B052-899E-4CA5-A0BC-2E383F8AEFAE}
|
||||
{29D5FCAF-20D0-4DEF-8529-F035C249E996} = {29D5FCAF-20D0-4DEF-8529-F035C249E996}
|
||||
{A0421DCA-AC3E-42D0-94AC-379A21A1E591} = {A0421DCA-AC3E-42D0-94AC-379A21A1E591}
|
||||
{C6AF7E57-CE57-4462-AE1D-BF520701480E} = {C6AF7E57-CE57-4462-AE1D-BF520701480E}
|
||||
{F2CAAAB3-9568-4284-B8E3-13955183A6D7} = {F2CAAAB3-9568-4284-B8E3-13955183A6D7}
|
||||
{D8294E4A-03C5-43D7-AE35-15603F502DC0} = {D8294E4A-03C5-43D7-AE35-15603F502DC0}
|
||||
{A4921D15-411F-436A-B6F3-F8381652A8E1} = {A4921D15-411F-436A-B6F3-F8381652A8E1}
|
||||
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C} = {60BEB3AF-B4EF-4363-8747-C40177BC2D9C}
|
||||
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C} = {ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||
{0E9E295F-3854-415B-AE9F-7B62F17932F5} = {0E9E295F-3854-415B-AE9F-7B62F17932F5}
|
||||
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644} = {4BFA4D7C-C6F7-4270-9E87-B922DCE05644}
|
||||
{F77AD922-B4BC-43D7-B268-865312085495} = {F77AD922-B4BC-43D7-B268-865312085495}
|
||||
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88} = {8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}
|
||||
{1DFA0599-77CC-4768-B47A-107EEE86C20C} = {1DFA0599-77CC-4768-B47A-107EEE86C20C}
|
||||
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48} = {0E45A3EF-8636-46CF-94A3-7B5CE875DE48}
|
||||
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C} = {CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CMakeLib", "Source\CMakeLib.vcxproj", "{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CMakeLibTests", "Tests\CMakeLib\CMakeLibTests.vcxproj", "{B025BD09-8389-4D9F-9150-F33418A664B1}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CPackLib", "Source\CPackLib.vcxproj", "{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CTestLib", "Source\CTestLib.vcxproj", "{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Experimental", "Experimental.vcxproj", "{B28E8445-DFD2-46EA-BA6C-C2A1864F2FB1}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INSTALL", "INSTALL.vcxproj", "{3B126B2D-DEAA-4CDF-9F44-28D3600F5754}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C} = {BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LIBCURL", "Utilities\cmcurl\LIBCURL.vcxproj", "{0283B293-0067-4D02-ADA6-892704398F48}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Nightly", "Nightly.vcxproj", "{7BAF09E0-DCD4-4567-9486-79E1E5F18333}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NightlyMemoryCheck", "NightlyMemoryCheck.vcxproj", "{D0413FDA-31C5-41C2-A53A-C1B87061EC96}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PACKAGE", "PACKAGE.vcxproj", "{4C488FF0-7C06-47FE-A8FD-67DAD51A3E85}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C} = {BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RUN_TESTS", "RUN_TESTS.vcxproj", "{D87B08A8-638E-43FA-96C2-404B41363D3B}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "ZERO_CHECK.vcxproj", "{90BC31D7-A3E8-4F04-8049-2236C239A044}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmIML_test", "Utilities\KWIML\test\cmIML_test.vcxproj", "{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmake", "Source\cmake.vcxproj", "{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmbzip2", "Utilities\cmbzip2\cmbzip2.vcxproj", "{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmcldeps", "Source\cmcldeps.vcxproj", "{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmcompress", "Utilities\cmcompress\cmcompress.vcxproj", "{561AD1BB-6DD3-466D-B270-3696DEE8C26C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmcurl", "Utilities\cmcurl\cmcurl.vcxproj", "{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmexpat", "Utilities\cmexpat\cmexpat.vcxproj", "{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmlibarchive", "Utilities\cmlibarchive\libarchive\cmlibarchive.vcxproj", "{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsys", "Source\kwsys\cmsys.vcxproj", "{BDB424DC-15B3-4A06-A1E2-3D61380F359F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE} = {4810B052-899E-4CA5-A0BC-2E383F8AEFAE}
|
||||
{29D5FCAF-20D0-4DEF-8529-F035C249E996} = {29D5FCAF-20D0-4DEF-8529-F035C249E996}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysEncodeExecutable", "Source\kwsys\cmsysEncodeExecutable.vcxproj", "{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysProcessFwd9x", "Source\kwsys\cmsysProcessFwd9x.vcxproj", "{29D5FCAF-20D0-4DEF-8529-F035C249E996}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysTestDynload", "Source\kwsys\cmsysTestDynload.vcxproj", "{A0421DCA-AC3E-42D0-94AC-379A21A1E591}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysTestProcess", "Source\kwsys\cmsysTestProcess.vcxproj", "{C6AF7E57-CE57-4462-AE1D-BF520701480E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C} = {60BEB3AF-B4EF-4363-8747-C40177BC2D9C}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysTestSharedForward", "Source\kwsys\cmsysTestSharedForward.vcxproj", "{F2CAAAB3-9568-4284-B8E3-13955183A6D7}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C} = {60BEB3AF-B4EF-4363-8747-C40177BC2D9C}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysTestsC", "Source\kwsys\cmsysTestsC.vcxproj", "{D8294E4A-03C5-43D7-AE35-15603F502DC0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C} = {60BEB3AF-B4EF-4363-8747-C40177BC2D9C}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysTestsCxx", "Source\kwsys\cmsysTestsCxx.vcxproj", "{A4921D15-411F-436A-B6F3-F8381652A8E1}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsys_c", "Source\kwsys\cmsys_c.vcxproj", "{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE} = {4810B052-899E-4CA5-A0BC-2E383F8AEFAE}
|
||||
{29D5FCAF-20D0-4DEF-8529-F035C249E996} = {29D5FCAF-20D0-4DEF-8529-F035C249E996}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmw9xcom", "Source\cmw9xcom.vcxproj", "{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmzlib", "Utilities\cmzlib\cmzlib.vcxproj", "{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpack", "Source\cpack.vcxproj", "{0E9E295F-3854-415B-AE9F-7B62F17932F5}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8} = {94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ctest", "Source\ctest.vcxproj", "{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8} = {1002C8FC-7242-4A69-AF51-C59BB10BA6D8}
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "documentation", "Utilities\documentation.vcxproj", "{F77AD922-B4BC-43D7-B268-865312085495}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8} = {6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}
|
||||
{0E9E295F-3854-415B-AE9F-7B62F17932F5} = {0E9E295F-3854-415B-AE9F-7B62F17932F5}
|
||||
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644} = {4BFA4D7C-C6F7-4270-9E87-B922DCE05644}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "memcheck_fail", "Tests\CTestTestMemcheck\memcheck_fail.vcxproj", "{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pseudo_BC", "Tests\CTestTestMemcheck\pseudo_BC.vcxproj", "{1DFA0599-77CC-4768-B47A-107EEE86C20C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pseudo_purify", "Tests\CTestTestMemcheck\pseudo_purify.vcxproj", "{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pseudo_valgrind", "Tests\CTestTestMemcheck\pseudo_valgrind.vcxproj", "{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_clean", "Tests\test_clean.vcxproj", "{02D16A66-6D59-4A0E-ABB3-BD12926934FE}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uninstall", "uninstall.vcxproj", "{B5A9B8B7-53AC-46D7-9ADE-76F708A7189C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CMakePredefinedTargets", "CMakePredefinedTargets", "{31CE49D7-85CA-41E2-83D2-CC6962519DB6}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CTestDashboardTargets", "CTestDashboardTargets", "{BD073C58-BAED-420E-80EA-DC9F52E21AF7}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Documentation", "Documentation", "{8ECAB3CD-B434-426B-B63A-115919D393BC}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{964DC7DE-990A-4CA4-8395-10D9F9CB2A23}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{7E002D15-21D1-4927-B486-82E496444441}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3rdParty", "Utilities\3rdParty", "{0984A63C-130E-4B62-9A94-AAC28A88C137}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "KWSys", "Utilities\KWSys", "{EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Win9xCompat", "Utilities\Win9xCompat", "{2485E202-B981-41E0-98CA-CF363437A4E4}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Release|x64 = Release|x64
|
||||
MinSizeRel|x64 = MinSizeRel|x64
|
||||
RelWithDebInfo|x64 = RelWithDebInfo|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.Debug|x64.Build.0 = Debug|x64
|
||||
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.Release|x64.ActiveCfg = Release|x64
|
||||
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.Release|x64.Build.0 = Release|x64
|
||||
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.Debug|x64.Build.0 = Debug|x64
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.Release|x64.ActiveCfg = Release|x64
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.Release|x64.Build.0 = Release|x64
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{B025BD09-8389-4D9F-9150-F33418A664B1}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B025BD09-8389-4D9F-9150-F33418A664B1}.Debug|x64.Build.0 = Debug|x64
|
||||
{B025BD09-8389-4D9F-9150-F33418A664B1}.Release|x64.ActiveCfg = Release|x64
|
||||
{B025BD09-8389-4D9F-9150-F33418A664B1}.Release|x64.Build.0 = Release|x64
|
||||
{B025BD09-8389-4D9F-9150-F33418A664B1}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{B025BD09-8389-4D9F-9150-F33418A664B1}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{B025BD09-8389-4D9F-9150-F33418A664B1}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{B025BD09-8389-4D9F-9150-F33418A664B1}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.Debug|x64.Build.0 = Debug|x64
|
||||
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.Release|x64.ActiveCfg = Release|x64
|
||||
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.Release|x64.Build.0 = Release|x64
|
||||
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.Debug|x64.Build.0 = Debug|x64
|
||||
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.Release|x64.ActiveCfg = Release|x64
|
||||
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.Release|x64.Build.0 = Release|x64
|
||||
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}.Release|x64.ActiveCfg = Release|x64
|
||||
{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{B28E8445-DFD2-46EA-BA6C-C2A1864F2FB1}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B28E8445-DFD2-46EA-BA6C-C2A1864F2FB1}.Release|x64.ActiveCfg = Release|x64
|
||||
{B28E8445-DFD2-46EA-BA6C-C2A1864F2FB1}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{B28E8445-DFD2-46EA-BA6C-C2A1864F2FB1}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{3B126B2D-DEAA-4CDF-9F44-28D3600F5754}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3B126B2D-DEAA-4CDF-9F44-28D3600F5754}.Release|x64.ActiveCfg = Release|x64
|
||||
{3B126B2D-DEAA-4CDF-9F44-28D3600F5754}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{3B126B2D-DEAA-4CDF-9F44-28D3600F5754}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{0283B293-0067-4D02-ADA6-892704398F48}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0283B293-0067-4D02-ADA6-892704398F48}.Debug|x64.Build.0 = Debug|x64
|
||||
{0283B293-0067-4D02-ADA6-892704398F48}.Release|x64.ActiveCfg = Release|x64
|
||||
{0283B293-0067-4D02-ADA6-892704398F48}.Release|x64.Build.0 = Release|x64
|
||||
{0283B293-0067-4D02-ADA6-892704398F48}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{0283B293-0067-4D02-ADA6-892704398F48}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{0283B293-0067-4D02-ADA6-892704398F48}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{0283B293-0067-4D02-ADA6-892704398F48}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{7BAF09E0-DCD4-4567-9486-79E1E5F18333}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7BAF09E0-DCD4-4567-9486-79E1E5F18333}.Release|x64.ActiveCfg = Release|x64
|
||||
{7BAF09E0-DCD4-4567-9486-79E1E5F18333}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{7BAF09E0-DCD4-4567-9486-79E1E5F18333}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{D0413FDA-31C5-41C2-A53A-C1B87061EC96}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D0413FDA-31C5-41C2-A53A-C1B87061EC96}.Release|x64.ActiveCfg = Release|x64
|
||||
{D0413FDA-31C5-41C2-A53A-C1B87061EC96}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{D0413FDA-31C5-41C2-A53A-C1B87061EC96}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{4C488FF0-7C06-47FE-A8FD-67DAD51A3E85}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4C488FF0-7C06-47FE-A8FD-67DAD51A3E85}.Release|x64.ActiveCfg = Release|x64
|
||||
{4C488FF0-7C06-47FE-A8FD-67DAD51A3E85}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{4C488FF0-7C06-47FE-A8FD-67DAD51A3E85}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{D87B08A8-638E-43FA-96C2-404B41363D3B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D87B08A8-638E-43FA-96C2-404B41363D3B}.Release|x64.ActiveCfg = Release|x64
|
||||
{D87B08A8-638E-43FA-96C2-404B41363D3B}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{D87B08A8-638E-43FA-96C2-404B41363D3B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044}.Debug|x64.Build.0 = Debug|x64
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044}.Release|x64.ActiveCfg = Release|x64
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044}.Release|x64.Build.0 = Release|x64
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.Debug|x64.Build.0 = Debug|x64
|
||||
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.Release|x64.ActiveCfg = Release|x64
|
||||
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.Release|x64.Build.0 = Release|x64
|
||||
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.Debug|x64.Build.0 = Debug|x64
|
||||
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.Release|x64.ActiveCfg = Release|x64
|
||||
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.Release|x64.Build.0 = Release|x64
|
||||
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.Debug|x64.Build.0 = Debug|x64
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.Release|x64.ActiveCfg = Release|x64
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.Release|x64.Build.0 = Release|x64
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.Debug|x64.Build.0 = Debug|x64
|
||||
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.Release|x64.ActiveCfg = Release|x64
|
||||
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.Release|x64.Build.0 = Release|x64
|
||||
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.Debug|x64.Build.0 = Debug|x64
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.Release|x64.ActiveCfg = Release|x64
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.Release|x64.Build.0 = Release|x64
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.Debug|x64.Build.0 = Debug|x64
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.Release|x64.ActiveCfg = Release|x64
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.Release|x64.Build.0 = Release|x64
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.Debug|x64.Build.0 = Debug|x64
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.Release|x64.ActiveCfg = Release|x64
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.Release|x64.Build.0 = Release|x64
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.Debug|x64.Build.0 = Debug|x64
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.Release|x64.ActiveCfg = Release|x64
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.Release|x64.Build.0 = Release|x64
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.Debug|x64.Build.0 = Debug|x64
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.Release|x64.ActiveCfg = Release|x64
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.Release|x64.Build.0 = Release|x64
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.Debug|x64.Build.0 = Debug|x64
|
||||
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.Release|x64.ActiveCfg = Release|x64
|
||||
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.Release|x64.Build.0 = Release|x64
|
||||
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.Debug|x64.Build.0 = Debug|x64
|
||||
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.Release|x64.ActiveCfg = Release|x64
|
||||
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.Release|x64.Build.0 = Release|x64
|
||||
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.Debug|x64.Build.0 = Debug|x64
|
||||
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.Release|x64.ActiveCfg = Release|x64
|
||||
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.Release|x64.Build.0 = Release|x64
|
||||
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.Debug|x64.Build.0 = Debug|x64
|
||||
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.Release|x64.ActiveCfg = Release|x64
|
||||
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.Release|x64.Build.0 = Release|x64
|
||||
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.Debug|x64.Build.0 = Debug|x64
|
||||
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.Release|x64.ActiveCfg = Release|x64
|
||||
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.Release|x64.Build.0 = Release|x64
|
||||
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.Debug|x64.Build.0 = Debug|x64
|
||||
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.Release|x64.ActiveCfg = Release|x64
|
||||
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.Release|x64.Build.0 = Release|x64
|
||||
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{A4921D15-411F-436A-B6F3-F8381652A8E1}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A4921D15-411F-436A-B6F3-F8381652A8E1}.Debug|x64.Build.0 = Debug|x64
|
||||
{A4921D15-411F-436A-B6F3-F8381652A8E1}.Release|x64.ActiveCfg = Release|x64
|
||||
{A4921D15-411F-436A-B6F3-F8381652A8E1}.Release|x64.Build.0 = Release|x64
|
||||
{A4921D15-411F-436A-B6F3-F8381652A8E1}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{A4921D15-411F-436A-B6F3-F8381652A8E1}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{A4921D15-411F-436A-B6F3-F8381652A8E1}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{A4921D15-411F-436A-B6F3-F8381652A8E1}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.Debug|x64.Build.0 = Debug|x64
|
||||
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.Release|x64.ActiveCfg = Release|x64
|
||||
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.Release|x64.Build.0 = Release|x64
|
||||
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.Debug|x64.Build.0 = Debug|x64
|
||||
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.Release|x64.ActiveCfg = Release|x64
|
||||
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.Release|x64.Build.0 = Release|x64
|
||||
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.Debug|x64.Build.0 = Debug|x64
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.Release|x64.ActiveCfg = Release|x64
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.Release|x64.Build.0 = Release|x64
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.Debug|x64.Build.0 = Debug|x64
|
||||
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.Release|x64.ActiveCfg = Release|x64
|
||||
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.Release|x64.Build.0 = Release|x64
|
||||
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.Debug|x64.Build.0 = Debug|x64
|
||||
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.Release|x64.ActiveCfg = Release|x64
|
||||
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.Release|x64.Build.0 = Release|x64
|
||||
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{F77AD922-B4BC-43D7-B268-865312085495}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{F77AD922-B4BC-43D7-B268-865312085495}.Debug|x64.Build.0 = Debug|x64
|
||||
{F77AD922-B4BC-43D7-B268-865312085495}.Release|x64.ActiveCfg = Release|x64
|
||||
{F77AD922-B4BC-43D7-B268-865312085495}.Release|x64.Build.0 = Release|x64
|
||||
{F77AD922-B4BC-43D7-B268-865312085495}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{F77AD922-B4BC-43D7-B268-865312085495}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{F77AD922-B4BC-43D7-B268-865312085495}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{F77AD922-B4BC-43D7-B268-865312085495}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.Debug|x64.Build.0 = Debug|x64
|
||||
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.Release|x64.ActiveCfg = Release|x64
|
||||
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.Release|x64.Build.0 = Release|x64
|
||||
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.Debug|x64.Build.0 = Debug|x64
|
||||
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.Release|x64.ActiveCfg = Release|x64
|
||||
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.Release|x64.Build.0 = Release|x64
|
||||
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.Debug|x64.Build.0 = Debug|x64
|
||||
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.Release|x64.ActiveCfg = Release|x64
|
||||
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.Release|x64.Build.0 = Release|x64
|
||||
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.Debug|x64.Build.0 = Debug|x64
|
||||
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.Release|x64.ActiveCfg = Release|x64
|
||||
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.Release|x64.Build.0 = Release|x64
|
||||
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||
{02D16A66-6D59-4A0E-ABB3-BD12926934FE}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{02D16A66-6D59-4A0E-ABB3-BD12926934FE}.Release|x64.ActiveCfg = Release|x64
|
||||
{02D16A66-6D59-4A0E-ABB3-BD12926934FE}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{02D16A66-6D59-4A0E-ABB3-BD12926934FE}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
{B5A9B8B7-53AC-46D7-9ADE-76F708A7189C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B5A9B8B7-53AC-46D7-9ADE-76F708A7189C}.Release|x64.ActiveCfg = Release|x64
|
||||
{B5A9B8B7-53AC-46D7-9ADE-76F708A7189C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||
{B5A9B8B7-53AC-46D7-9ADE-76F708A7189C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{3B126B2D-DEAA-4CDF-9F44-28D3600F5754} = {31CE49D7-85CA-41E2-83D2-CC6962519DB6}
|
||||
{4C488FF0-7C06-47FE-A8FD-67DAD51A3E85} = {31CE49D7-85CA-41E2-83D2-CC6962519DB6}
|
||||
{D87B08A8-638E-43FA-96C2-404B41363D3B} = {31CE49D7-85CA-41E2-83D2-CC6962519DB6}
|
||||
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {31CE49D7-85CA-41E2-83D2-CC6962519DB6}
|
||||
{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89} = {BD073C58-BAED-420E-80EA-DC9F52E21AF7}
|
||||
{B28E8445-DFD2-46EA-BA6C-C2A1864F2FB1} = {BD073C58-BAED-420E-80EA-DC9F52E21AF7}
|
||||
{7BAF09E0-DCD4-4567-9486-79E1E5F18333} = {BD073C58-BAED-420E-80EA-DC9F52E21AF7}
|
||||
{D0413FDA-31C5-41C2-A53A-C1B87061EC96} = {BD073C58-BAED-420E-80EA-DC9F52E21AF7}
|
||||
{F77AD922-B4BC-43D7-B268-865312085495} = {8ECAB3CD-B434-426B-B63A-115919D393BC}
|
||||
{B025BD09-8389-4D9F-9150-F33418A664B1} = {964DC7DE-990A-4CA4-8395-10D9F9CB2A23}
|
||||
{0984A63C-130E-4B62-9A94-AAC28A88C137} = {7E002D15-21D1-4927-B486-82E496444441}
|
||||
{EF1DFA45-6F7A-4760-8EB5-69A8A221FC54} = {7E002D15-21D1-4927-B486-82E496444441}
|
||||
{2485E202-B981-41E0-98CA-CF363437A4E4} = {7E002D15-21D1-4927-B486-82E496444441}
|
||||
{0283B293-0067-4D02-ADA6-892704398F48} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||
{29D5FCAF-20D0-4DEF-8529-F035C249E996} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||
{A0421DCA-AC3E-42D0-94AC-379A21A1E591} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||
{C6AF7E57-CE57-4462-AE1D-BF520701480E} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||
{F2CAAAB3-9568-4284-B8E3-13955183A6D7} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||
{D8294E4A-03C5-43D7-AE35-15603F502DC0} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||
{A4921D15-411F-436A-B6F3-F8381652A8E1} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C} = {2485E202-B981-41E0-98CA-CF363437A4E4}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -1495,6 +1495,29 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
|
|||
unset(_last_test)
|
||||
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSExcludeFromDefaultBuild")
|
||||
endif()
|
||||
|
||||
if(CMAKE_TEST_GENERATOR MATCHES "Visual Studio ([0-5]|[6-9][0-9])")
|
||||
if(CMAKE_TEST_MAKEPROGRAM MATCHES "[mM][sS][bB][uU][iI][lL][dD]\\.[eE][xX][eE]")
|
||||
set(MSBUILD_EXECUTABLE "${CMAKE_TEST_MAKEPROGRAM}")
|
||||
else()
|
||||
set(_FDIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VC7;FrameworkDir32]")
|
||||
set(_FVER "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VC7;FrameworkVer32]")
|
||||
find_program(MSBUILD_EXECUTABLE NAMES msbuild HINTS ${_FDIR}/${_FVER})
|
||||
endif()
|
||||
if(MSBUILD_EXECUTABLE)
|
||||
add_test(NAME VSProjectInSubdir COMMAND ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/VSProjectInSubdir"
|
||||
"${CMake_BINARY_DIR}/Tests/VSProjectInSubdir"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-generator-toolset "${CMAKE_TEST_GENERATOR_TOOLSET}"
|
||||
--build-makeprogram "${MSBUILD_EXECUTABLE}"
|
||||
--build-project VSProjectInSubdir
|
||||
--build-target test)
|
||||
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSProjectInSubdir")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (APPLE)
|
||||
|
@ -1637,6 +1660,20 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
|
|||
# -S "${CMake_BINARY_DIR}/Tests/CTestScriptMode/CTestTestScriptMode.cmake"
|
||||
# )
|
||||
|
||||
# A test for ctest_build() with targets in subdirectories
|
||||
if(CMAKE_TEST_GENERATOR_TOOLSET)
|
||||
set(CMAKE_TEST_GENERATOR_TOOLSET_SELECTION "-T;${CMAKE_TEST_GENERATOR_TOOLSET};")
|
||||
else()
|
||||
set(CMAKE_TEST_GENERATOR_TOOLSET_SELECTION)
|
||||
endif()
|
||||
configure_file("${CMake_SOURCE_DIR}/Tests/CTestBuildCommandProjectInSubdir/CTestBuildCommandProjectInSubdir.cmake.in"
|
||||
"${CMake_BINARY_DIR}/Tests/CTestBuildCommandProjectInSubdir/CTestBuildCommandProjectInSubdir.cmake" @ONLY)
|
||||
unset(CMAKE_TEST_GENERATOR_TOOLSET_SELECTION)
|
||||
add_test(CTest.BuildCommand.ProjectInSubdir
|
||||
${CMAKE_CTEST_COMMAND} -S "${CMake_BINARY_DIR}/Tests/CTestBuildCommandProjectInSubdir/CTestBuildCommandProjectInSubdir.cmake"
|
||||
-DCMAKE_MAKE_PROGRAM:FILEPATH=${CMAKE_TEST_MAKEPROGRAM})
|
||||
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CTestBuildCommandProjectInSubdir/Nested")
|
||||
|
||||
set(CTEST_TEST_UPDATE 1)
|
||||
if(CTEST_TEST_UPDATE)
|
||||
# Test CTest Update with Subversion
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
cmake_minimum_required(VERSION 2.8.10)
|
||||
|
||||
set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/VSProjectInSubdir")
|
||||
set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestBuildCommandProjectInSubdir/Nested")
|
||||
set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
|
||||
set(CTEST_PROJECT_NAME "VSProjectInSubdir")
|
||||
set(CTEST_BUILD_CONFIGURATION "@CTestTest_CONFIG@")
|
||||
|
||||
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
|
||||
ctest_start(Experimental)
|
||||
ctest_configure(OPTIONS "@CMAKE_TEST_GENERATOR_TOOLSET_SELECTION@-DCMAKE_MAKE_PROGRAM:FILEPATH=@CMAKE_TEST_MAKEPROGRAM@")
|
||||
ctest_build(TARGET test)
|
|
@ -0,0 +1,3 @@
|
|||
cmake_minimum_required(VERSION 2.8.10)
|
||||
project(VSProjectInSubdir NONE)
|
||||
add_subdirectory(subdir)
|
|
@ -0,0 +1 @@
|
|||
add_custom_target(test COMMAND ${CMAKE_COMMAND} -E echo test VERBATIM)
|
Loading…
Reference in New Issue