mirror of
https://github.com/reactos/CMake.git
synced 2025-01-06 11:08:18 +00:00
96afb12087
This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
68 lines
2.0 KiB
C++
68 lines
2.0 KiB
C++
/*============================================================================
|
|
CMake - Cross Platform Makefile Generator
|
|
Copyright 2000-2009 Kitware, Inc.
|
|
|
|
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 cmCTestGlobalVC_h
|
|
#define cmCTestGlobalVC_h
|
|
|
|
#include "cmCTestVC.h"
|
|
|
|
/** \class cmCTestGlobalVC
|
|
* \brief Base class for handling globally-versioned trees
|
|
*
|
|
*/
|
|
class cmCTestGlobalVC: public cmCTestVC
|
|
{
|
|
public:
|
|
/** Construct with a CTest instance and update log stream. */
|
|
cmCTestGlobalVC(cmCTest* ctest, std::ostream& log);
|
|
|
|
virtual ~cmCTestGlobalVC();
|
|
|
|
protected:
|
|
// Implement cmCTestVC internal API.
|
|
virtual bool WriteXMLUpdates(std::ostream& xml);
|
|
|
|
/** Represent a vcs-reported action for one path in a revision. */
|
|
struct Change
|
|
{
|
|
char Action;
|
|
std::string Path;
|
|
Change(char a = '?'): Action(a) {}
|
|
};
|
|
|
|
// Update status for files in each directory.
|
|
class Directory: public std::map<cmStdString, File> {};
|
|
std::map<cmStdString, Directory> Dirs;
|
|
|
|
// Old and new repository revisions.
|
|
std::string OldRevision;
|
|
std::string NewRevision;
|
|
|
|
// Information known about old revision.
|
|
Revision PriorRev;
|
|
|
|
// Information about revisions from a svn log.
|
|
std::list<Revision> Revisions;
|
|
|
|
virtual const char* LocalPath(std::string const& path);
|
|
|
|
virtual void DoRevision(Revision const& revision,
|
|
std::vector<Change> const& changes);
|
|
virtual void DoModification(PathStatus status, std::string const& path);
|
|
virtual void LoadModifications() = 0;
|
|
virtual void LoadRevisions() = 0;
|
|
|
|
void WriteXMLDirectory(std::ostream& xml, std::string const& path,
|
|
Directory const& dir);
|
|
};
|
|
|
|
#endif
|