diff options
author | Brad King <brad.king@kitware.com> | 2009-02-24 15:39:28 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-02-24 15:39:28 (GMT) |
commit | 1b8ea27bd10c9ac94d190a3eb9be5fa0c955b453 (patch) | |
tree | ab159423f45038d010525015b04c10f0016a05f6 | |
parent | 60a46ca76e31fdc75a1ed2d21a8df92900bad672 (diff) | |
download | CMake-1b8ea27bd10c9ac94d190a3eb9be5fa0c955b453.zip CMake-1b8ea27bd10c9ac94d190a3eb9be5fa0c955b453.tar.gz CMake-1b8ea27bd10c9ac94d190a3eb9be5fa0c955b453.tar.bz2 |
ENH: Create cmCTestVC for VCS interaction
This creates cmCTestVC, the base for a forthcoming class hierarchy to
interact with version control systems.
-rw-r--r-- | Source/CMakeLists.txt | 3 | ||||
-rw-r--r-- | Source/CTest/cmCTestVC.cxx | 41 | ||||
-rw-r--r-- | Source/CTest/cmCTestVC.h | 55 |
3 files changed, 99 insertions, 0 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index 6e8d987..43731c2 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -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 diff --git a/Source/CTest/cmCTestVC.cxx b/Source/CTest/cmCTestVC.cxx new file mode 100644 index 0000000..2bacda6 --- /dev/null +++ b/Source/CTest/cmCTestVC.cxx @@ -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; +} diff --git a/Source/CTest/cmCTestVC.h b/Source/CTest/cmCTestVC.h new file mode 100644 index 0000000..b2f25e8 --- /dev/null +++ b/Source/CTest/cmCTestVC.h @@ -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 |