| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /*============================================================================
- 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 cmCTestUpdateHandler_h
- #define cmCTestUpdateHandler_h
- #include "cmCTestGenericHandler.h"
- #include "cmListFileCache.h"
- /** \class cmCTestUpdateHandler
- * \brief A class that handles ctest -S invocations
- *
- */
- class cmCTestUpdateHandler : public cmCTestGenericHandler
- {
- public:
- cmTypeMacro(cmCTestUpdateHandler, cmCTestGenericHandler);
- /*
- * The main entry point for this class
- */
- int ProcessHandler();
- cmCTestUpdateHandler();
- enum {
- e_UNKNOWN = 0,
- e_CVS,
- e_SVN,
- e_BZR,
- e_GIT,
- e_HG,
- e_P4,
- e_LAST
- };
- /**
- * Initialize handler
- */
- virtual void Initialize();
- private:
- // Some structures needed for update
- struct StringPair :
- public std::pair<std::string, std::string>{};
- struct UpdateFiles : public std::vector<StringPair>{};
- // Determine the type of version control
- int DetermineType(const char* cmd, const char* type);
- // The VCS command to update the working tree.
- std::string UpdateCommand;
- int UpdateType;
- int DetectVCS(const char* dir);
- bool SelectVCS();
- };
- #endif
|