ENH: Create cmCTestVC for VCS interaction

This creates cmCTestVC, the base for a forthcoming class hierarchy to
interact with version control systems.
This commit is contained in:
Brad King 2009-02-24 10:39:28 -05:00
parent 60a46ca76e
commit 1b8ea27bd1
3 changed files with 99 additions and 0 deletions

View File

@ -342,6 +342,9 @@ SET(CTEST_SRCS cmCTest.cxx
CTest/cmCTestTestHandler.cxx
CTest/cmCTestUpdateCommand.cxx
CTest/cmCTestUpdateHandler.cxx
CTest/cmCTestVC.cxx
CTest/cmCTestVC.h
)
# Build CTestLib

View File

@ -0,0 +1,41 @@
/*=========================================================================
Program: CMake - Cross-Platform Makefile Generator
Module: $RCSfile$
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) 2002 Kitware, Inc. All rights reserved.
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#include "cmCTestVC.h"
#include "cmCTest.h"
//----------------------------------------------------------------------------
cmCTestVC::cmCTestVC(cmCTest* ct, std::ostream& log): CTest(ct), Log(log)
{
}
//----------------------------------------------------------------------------
cmCTestVC::~cmCTestVC()
{
}
//----------------------------------------------------------------------------
void cmCTestVC::SetCommandLineTool(std::string const& tool)
{
this->CommandLineTool = tool;
}
//----------------------------------------------------------------------------
void cmCTestVC::SetSourceDirectory(std::string const& dir)
{
this->SourceDirectory = dir;
}

55
Source/CTest/cmCTestVC.h Normal file
View File

@ -0,0 +1,55 @@
/*=========================================================================
Program: CMake - Cross-Platform Makefile Generator
Module: $RCSfile$
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) 2002 Kitware, Inc. All rights reserved.
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef cmCTestVC_h
#define cmCTestVC_h
#include "cmStandardIncludes.h"
class cmCTest;
/** \class cmCTestVC
* \brief Base class for version control system handlers
*
*/
class cmCTestVC
{
public:
/** Construct with a CTest instance and update log stream. */
cmCTestVC(cmCTest* ctest, std::ostream& log);
virtual ~cmCTestVC();
/** Command line tool to invoke. */
void SetCommandLineTool(std::string const& tool);
/** Top-level source directory. */
void SetSourceDirectory(std::string const& dir);
protected:
// Instance of cmCTest running the script.
cmCTest* CTest;
// A stream to which we write log information.
std::ostream& Log;
// Basic information about the working tree.
std::string CommandLineTool;
std::string SourceDirectory;
};
#endif