| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*=========================================================================
- 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 "cmProcessTools.h"
- class cmCTest;
- /** \class cmCTestVC
- * \brief Base class for version control system handlers
- *
- */
- class cmCTestVC: public cmProcessTools
- {
- 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);
- /** Get the date/time specification for the current nightly start time. */
- std::string GetNightlyTime();
- /** Perform cleanup operations on the work tree. */
- void Cleanup();
- void MarkOldRevision() { this->NoteOldRevision(); }
- void MarkNewRevision() { this->NoteNewRevision(); }
- protected:
- // Internal API to be implemented by subclasses.
- virtual void CleanupImpl();
- virtual void NoteOldRevision();
- virtual void NoteNewRevision();
- /** Convert a list of arguments to a human-readable command line. */
- static std::string ComputeCommandLine(char const* const* cmd);
- /** Run a command line and send output to given parsers. */
- bool RunChild(char const* const* cmd, OutputParser* out,
- OutputParser* err, const char* workDir = 0);
- // 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
|