mirror of
https://github.com/reactos/CMake.git
synced 2025-02-03 18:42:32 +00:00
96afb12087
This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
105 lines
2.6 KiB
C++
105 lines
2.6 KiB
C++
/*============================================================================
|
|
CMake - Cross Platform Makefile Generator
|
|
Copyright 2000-2009 Kitware, Inc.
|
|
|
|
Distributed under the OSI-approved BSD License (the "License");
|
|
see accompanying file Copyright.txt for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
See the License for more information.
|
|
============================================================================*/
|
|
|
|
#ifndef cmCTestGenericHandler_h
|
|
#define cmCTestGenericHandler_h
|
|
|
|
|
|
#include "cmObject.h"
|
|
#include "cmCTest.h"
|
|
|
|
class cmMakefile;
|
|
class cmCTestCommand;
|
|
class cmGeneratedFileStream;
|
|
|
|
/** \class cmCTestGenericHandler
|
|
* \brief A superclass of all CTest Handlers
|
|
*
|
|
*/
|
|
class cmCTestGenericHandler : public cmObject
|
|
{
|
|
public:
|
|
/**
|
|
* If verbose then more informaiton is printed out
|
|
*/
|
|
void SetVerbose(bool val) { this->HandlerVerbose = val; }
|
|
|
|
/**
|
|
* Populate internals from CTest custom scripts
|
|
*/
|
|
virtual void PopulateCustomVectors(cmMakefile *) {}
|
|
|
|
/**
|
|
* Do the actual processing. Subclass has to override it.
|
|
* Return < 0 if error.
|
|
*/
|
|
virtual int ProcessHandler() = 0;
|
|
|
|
/**
|
|
* Process command line arguments that are applicable for the handler
|
|
*/
|
|
virtual int ProcessCommandLineArguments(
|
|
const std::string& /*currentArg*/, size_t& /*idx*/,
|
|
const std::vector<std::string>& /*allArgs*/) { return 1; }
|
|
|
|
/**
|
|
* Initialize handler
|
|
*/
|
|
virtual void Initialize();
|
|
|
|
/**
|
|
* Set the CTest instance
|
|
*/
|
|
void SetCTestInstance(cmCTest* ctest) { this->CTest = ctest; }
|
|
cmCTest* GetCTestInstance() { return this->CTest; }
|
|
|
|
/**
|
|
* Construct handler
|
|
*/
|
|
cmCTestGenericHandler();
|
|
virtual ~cmCTestGenericHandler();
|
|
|
|
typedef std::map<cmStdString,cmStdString> t_StringToString;
|
|
|
|
|
|
void SetPersistentOption(const char* op, const char* value);
|
|
void SetOption(const char* op, const char* value);
|
|
const char* GetOption(const char* op);
|
|
|
|
void SetCommand(cmCTestCommand* command)
|
|
{
|
|
this->Command = command;
|
|
}
|
|
|
|
void SetSubmitIndex(int idx) { this->SubmitIndex = idx; }
|
|
int GetSubmitIndex() { return this->SubmitIndex; }
|
|
|
|
void SetAppendXML(bool b) { this->AppendXML = b; }
|
|
|
|
protected:
|
|
bool StartResultingXML(cmCTest::Part part,
|
|
const char* name, cmGeneratedFileStream& xofs);
|
|
bool StartLogFile(const char* name, cmGeneratedFileStream& xofs);
|
|
|
|
bool AppendXML;
|
|
bool HandlerVerbose;
|
|
cmCTest *CTest;
|
|
t_StringToString Options;
|
|
t_StringToString PersistentOptions;
|
|
|
|
cmCTestCommand* Command;
|
|
int SubmitIndex;
|
|
};
|
|
|
|
#endif
|
|
|