b22e5d0ab7
Ensure that cmStandardIncludes.h is included before any platform header in cmGeneratorExpressionEvaluator.h. That file needs to change as a result of removal of the cmMakefile.h header from cmGeneratorExpressionNode.h, affecting the compilation of cmGeneratorExpressionNode.cxx. On AIX we need to include our own headers first to get large file support macros defined consistently within system headers. The old order in this header worked only because it was always included after other headers.
44 lines
1.4 KiB
C++
44 lines
1.4 KiB
C++
/*============================================================================
|
|
CMake - Cross Platform Makefile Generator
|
|
Copyright 2012 Stephen Kelly <steveire@gmail.com>
|
|
|
|
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 cmGeneratorExpressionParser_h
|
|
#define cmGeneratorExpressionParser_h
|
|
|
|
#include "cmGeneratorExpressionLexer.h"
|
|
|
|
#include <set>
|
|
#include <vector>
|
|
|
|
#include "cmListFileCache.h"
|
|
|
|
struct cmGeneratorExpressionEvaluator;
|
|
|
|
//----------------------------------------------------------------------------
|
|
struct cmGeneratorExpressionParser
|
|
{
|
|
cmGeneratorExpressionParser(
|
|
const std::vector<cmGeneratorExpressionToken> &tokens);
|
|
|
|
void Parse(std::vector<cmGeneratorExpressionEvaluator*> &result);
|
|
|
|
private:
|
|
void ParseContent(std::vector<cmGeneratorExpressionEvaluator*> &);
|
|
void ParseGeneratorExpression(
|
|
std::vector<cmGeneratorExpressionEvaluator*> &);
|
|
|
|
private:
|
|
std::vector<cmGeneratorExpressionToken>::const_iterator it;
|
|
const std::vector<cmGeneratorExpressionToken> Tokens;
|
|
unsigned int NestingLevel;
|
|
};
|
|
|
|
#endif
|