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:
parent
60a46ca76e
commit
1b8ea27bd1
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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
|
Loading…
Reference in New Issue