Initial commit.
[CMakeLuaTailorHgBridge.git] / CMakeLua / Source / CTest / cmCTestBuildAndTestHandler.h
blob6d6d1cb7458d00ab34e753d49b8df0ca30adf984
1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmCTestBuildAndTestHandler.h,v $
5 Language: C++
6 Date: $Date: 2007/03/19 17:04:10 $
7 Version: $Revision: 1.6 $
9 Copyright (c) 2002 Kitware, Inc. All rights reserved.
10 See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notices for more information.
16 =========================================================================*/
18 #ifndef cmCTestBuildAndTestHandler_h
19 #define cmCTestBuildAndTestHandler_h
22 #include "cmCTestGenericHandler.h"
23 #include "cmListFileCache.h"
25 class cmake;
27 /** \class cmCTestBuildAndTestHandler
28 * \brief A class that handles ctest -S invocations
31 class cmCTestBuildAndTestHandler : public cmCTestGenericHandler
33 public:
34 cmTypeMacro(cmCTestBuildAndTestHandler, cmCTestGenericHandler);
37 * The main entry point for this class
39 int ProcessHandler();
41 //! Set all the build and test arguments
42 virtual int ProcessCommandLineArguments(
43 const std::string& currentArg, size_t& idx,
44 const std::vector<std::string>& allArgs);
47 * Get the output variable
49 const char* GetOutput();
51 cmCTestBuildAndTestHandler();
53 virtual void Initialize();
55 protected:
56 ///! Run CMake and build a test and then run it as a single test.
57 int RunCMakeAndTest(std::string* output);
58 int RunCMake(std::string* outstring, cmOStringStream &out,
59 std::string &cmakeOutString,
60 std::string &cwd, cmake *cm);
62 cmStdString Output;
64 std::string BuildGenerator;
65 std::vector<std::string> BuildOptions;
66 bool BuildTwoConfig;
67 std::string BuildMakeProgram;
68 std::string ConfigSample;
69 std::string SourceDir;
70 std::string BinaryDir;
71 std::string BuildProject;
72 std::string TestCommand;
73 bool BuildNoClean;
74 std::string BuildRunDir;
75 std::string ExecutableDirectory;
76 std::vector<std::string> TestCommandArgs;
77 std::vector<std::string> BuildTargets;
78 bool BuildNoCMake;
79 double Timeout;
82 #endif