mirror of
https://github.com/reactos/CMake.git
synced 2024-12-11 05:14:00 +00:00
b6385cabec
Factor appending of individual flags out into an AppendFlagEscape method in cmLocalGenerator and teach it to use EscapeForShell. Update all COMPILE_OPTIONS handling to use AppendFlagEscape. Override the method in the Xcode generator to use its custom escape implementation. Teach the CompileOptions test to add an option that requires escaping everywhere instead of just with the GNU tools.
45 lines
1.6 KiB
C++
45 lines
1.6 KiB
C++
/*============================================================================
|
|
CMake - Cross Platform Makefile Generator
|
|
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
|
|
|
|
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.
|
|
============================================================================*/
|
|
#include "cmLocalXCodeGenerator.h"
|
|
#include "cmGlobalXCodeGenerator.h"
|
|
#include "cmSourceFile.h"
|
|
|
|
//----------------------------------------------------------------------------
|
|
cmLocalXCodeGenerator::cmLocalXCodeGenerator()
|
|
{
|
|
// the global generator does this, so do not
|
|
// put these flags into the language flags
|
|
this->EmitUniversalBinaryFlags = false;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
cmLocalXCodeGenerator::~cmLocalXCodeGenerator()
|
|
{
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
std::string
|
|
cmLocalXCodeGenerator::GetTargetDirectory(cmTarget const&) const
|
|
{
|
|
// No per-target directory for this generator (yet).
|
|
return "";
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
void cmLocalXCodeGenerator::AppendFlagEscape(std::string& flags,
|
|
const char* rawFlag)
|
|
{
|
|
cmGlobalXCodeGenerator* gg =
|
|
static_cast<cmGlobalXCodeGenerator*>(this->GlobalGenerator);
|
|
gg->AppendFlag(flags, rawFlag);
|
|
}
|