1 /*============================================================================
2 CMake - Cross Platform Makefile Generator
3 Copyright 2013 Stephen Kelly <steveire@gmail.com>
5 Distributed under the OSI-approved BSD License (the "License");
6 see accompanying file Copyright.txt for details.
8 This software is distributed WITHOUT ANY WARRANTY; without even the
9 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the License for more information.
11 ============================================================================*/
12 #ifndef cmGeneratorExpressionEvaluationFile_h
13 #define cmGeneratorExpressionEvaluationFile_h
15 #include "cmStandardIncludes.h"
16 #include <cmsys/auto_ptr.hxx>
18 #include "cmGeneratorExpression.h"
20 //----------------------------------------------------------------------------
21 class cmGeneratorExpressionEvaluationFile
24 cmGeneratorExpressionEvaluationFile(const std::string &input,
25 cmsys::auto_ptr<cmCompiledGeneratorExpression> outputFileExpr,
27 cmsys::auto_ptr<cmCompiledGeneratorExpression> condition,
32 std::vector<std::string> GetFiles() const { return this->Files; }
35 void Generate(const char *config,
36 cmCompiledGeneratorExpression* inputExpression,
37 std::map<std::string, std::string> &outputFiles);
40 const std::string Input;
41 const cmsys::auto_ptr<cmCompiledGeneratorExpression> OutputFileExpr;
43 const cmsys::auto_ptr<cmCompiledGeneratorExpression> Condition;
44 std::vector<std::string> Files;
45 const bool InputIsContent;