| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 | 
							- /*============================================================================
 
-   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 cmCTestScriptHandler_h
 
- #define cmCTestScriptHandler_h
 
- #include "cmCTestGenericHandler.h"
 
- #include "cmListFileCache.h"
 
- class cmMakefile;
 
- class cmLocalGenerator;
 
- class cmGlobalGenerator;
 
- class cmake;
 
- class cmCTestCommand;
 
- /** \class cmCTestScriptHandler
 
-  * \brief A class that handles ctest -S invocations
 
-  *
 
-  * CTest script is controlled using several variables that script has to
 
-  * specify and some optional ones. Required ones are:
 
-  *   CTEST_SOURCE_DIRECTORY - Source directory of the project
 
-  *   CTEST_BINARY_DIRECTORY - Binary directory of the project
 
-  *   CTEST_COMMAND          - Testing commands
 
-  *
 
-  * Optional variables are:
 
-  *   CTEST_BACKUP_AND_RESTORE
 
-  *   CTEST_CMAKE_COMMAND
 
-  *   CTEST_CMAKE_OUTPUT_FILE_NAME
 
-  *   CTEST_CONTINUOUS_DURATION
 
-  *   CTEST_CONTINUOUS_MINIMUM_INTERVAL
 
-  *   CTEST_CVS_CHECKOUT
 
-  *   CTEST_CVS_COMMAND
 
-  *   CTEST_UPDATE_COMMAND
 
-  *   CTEST_DASHBOARD_ROOT
 
-  *   CTEST_ENVIRONMENT
 
-  *   CTEST_INITIAL_CACHE
 
-  *   CTEST_START_WITH_EMPTY_BINARY_DIRECTORY
 
-  *   CTEST_START_WITH_EMPTY_BINARY_DIRECTORY_ONCE
 
-  *
 
-  * In addition the following variables can be used. The number can be 1-10.
 
-  *   CTEST_EXTRA_UPDATES_1
 
-  *   CTEST_EXTRA_UPDATES_2
 
-  *   ...
 
-  *   CTEST_EXTRA_UPDATES_10
 
-  *
 
-  * CTest script can use the following arguments CTest provides:
 
-  *   CTEST_SCRIPT_ARG
 
-  *   CTEST_SCRIPT_DIRECTORY
 
-  *   CTEST_SCRIPT_NAME
 
-  *
 
-  */
 
- class cmCTestScriptHandler : public cmCTestGenericHandler
 
- {
 
- public:
 
-   cmTypeMacro(cmCTestScriptHandler, cmCTestGenericHandler);
 
-   /**
 
-    * Add a script to run, and if is should run in the current process
 
-    */
 
-   void AddConfigurationScript(const char *, bool pscope);
 
-   /**
 
-    * Run a dashboard using a specified confiuration script
 
-    */
 
-   int ProcessHandler();
 
-   /*
 
-    * Run a script
 
-    */
 
-   static bool RunScript(cmCTest* ctest, const char *script, bool InProcess,
 
-     int* returnValue);
 
-   int RunCurrentScript();
 
-   /*
 
-    * Empty Binary Directory
 
-    */
 
-   static bool EmptyBinaryDirectory(const char *dir);
 
-   /*
 
-    * Write an initial CMakeCache.txt from the given contents.
 
-    */
 
-   static bool WriteInitialCache(const char* directory, const char* text);
 
-   /*
 
-    * Some elapsed time handling functions
 
-    */
 
-   static void SleepInSeconds(unsigned int secondsToWait);
 
-   void UpdateElapsedTime();
 
-   /** 
 
-    * Return the time remaianing that the script is allowed to run in
 
-    * seconds if the user has set the variable CTEST_TIME_LIMIT. If that has
 
-    * not been set it returns 1e7 seconds
 
-    */
 
-   double GetRemainingTimeAllowed();
 
-   cmCTestScriptHandler();
 
-   ~cmCTestScriptHandler();
 
-   void Initialize();
 
-   void CreateCMake();
 
-   void GetCommandDocumentation(std::vector<cmDocumentationEntry>& v) const;
 
-   cmake* GetCMake() { return this->CMake;}
 
- private:
 
-   // reads in a script
 
-   int ReadInScript(const std::string& total_script_arg);
 
-   int ExecuteScript(const std::string& total_script_arg);
 
-   // extract vars from the script to set ivars
 
-   int ExtractVariables();
 
-   // perform a CVS checkout of the source dir
 
-   int CheckOutSourceDir();
 
-   // perform any extra cvs updates that were requested
 
-   int PerformExtraUpdates();
 
-   // backup and restore dirs
 
-   int BackupDirectories();
 
-   void RestoreBackupDirectories();
 
-   int RunConfigurationScript(const std::string& script, bool pscope);
 
-   int RunConfigurationDashboard();
 
-   // Add ctest command
 
-   void AddCTestCommand(cmCTestCommand* command);
 
-   std::vector<cmStdString> ConfigurationScripts;
 
-   std::vector<bool> ScriptProcessScope;
 
-   bool Backup;
 
-   bool EmptyBinDir;
 
-   bool EmptyBinDirOnce;
 
-   cmStdString SourceDir;
 
-   cmStdString BinaryDir;
 
-   cmStdString BackupSourceDir;
 
-   cmStdString BackupBinaryDir;
 
-   cmStdString CTestRoot;
 
-   cmStdString CVSCheckOut;
 
-   cmStdString CTestCmd;
 
-   cmStdString UpdateCmd;
 
-   cmStdString CTestEnv;
 
-   cmStdString InitialCache;
 
-   cmStdString CMakeCmd;
 
-   cmStdString CMOutFile;
 
-   std::vector<cmStdString> ExtraUpdates;
 
-   double MinimumInterval;
 
-   double ContinuousDuration;
 
-   // what time in seconds did this script start running
 
-   double ScriptStartTime;
 
-   cmMakefile *Makefile;
 
-   cmLocalGenerator *LocalGenerator;
 
-   cmGlobalGenerator *GlobalGenerator;
 
-   cmake *CMake;
 
- };
 
- #endif
 
 
  |