summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-02-24 15:39:28 (GMT)
committerBrad King <brad.king@kitware.com>2009-02-24 15:39:28 (GMT)
commit1b8ea27bd10c9ac94d190a3eb9be5fa0c955b453 (patch)
treeab159423f45038d010525015b04c10f0016a05f6
parent60a46ca76e31fdc75a1ed2d21a8df92900bad672 (diff)
downloadCMake-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.txt3
-rw-r--r--Source/CTest/cmCTestVC.cxx41
-rw-r--r--Source/CTest/cmCTestVC.h55
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