1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmCTestBuildAndTestHandler.h,v $
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"
27 /** \class cmCTestBuildAndTestHandler
28 * \brief A class that handles ctest -S invocations
31 class cmCTestBuildAndTestHandler
: public cmCTestGenericHandler
34 cmTypeMacro(cmCTestBuildAndTestHandler
, cmCTestGenericHandler
);
37 * The main entry point for this class
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();
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
);
64 std::string BuildGenerator
;
65 std::vector
<std::string
> BuildOptions
;
67 std::string BuildMakeProgram
;
68 std::string ConfigSample
;
69 std::string SourceDir
;
70 std::string BinaryDir
;
71 std::string BuildProject
;
72 std::string TestCommand
;
74 std::string BuildRunDir
;
75 std::string ExecutableDirectory
;
76 std::vector
<std::string
> TestCommandArgs
;
77 std::vector
<std::string
> BuildTargets
;