mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-14 02:08:27 +08:00

Not just short directory roots. The test suites did an improper generator check and masked them as the generator masks were put in place after the core development but before the autogen-specific logic tests were created.
47 lines
1.3 KiB
C++
47 lines
1.3 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file LICENSE.rst or https://cmake.org/licensing for details. */
|
|
#pragma once
|
|
|
|
#include "cmConfigure.h" // IWYU pragma: keep
|
|
|
|
#include <iosfwd>
|
|
#include <map>
|
|
#include <string>
|
|
|
|
#include "cmLocalGenerator.h"
|
|
#include "cmObjectLocation.h"
|
|
|
|
class cmGeneratorTarget;
|
|
class cmGlobalGenerator;
|
|
class cmMakefile;
|
|
class cmSourceFile;
|
|
|
|
/** \class cmLocalXCodeGenerator
|
|
* \brief Write a local Xcode project
|
|
*
|
|
* cmLocalXCodeGenerator produces a LocalUnix makefile from its
|
|
* member Makefile.
|
|
*/
|
|
class cmLocalXCodeGenerator : public cmLocalGenerator
|
|
{
|
|
public:
|
|
//! Set cache only and recurse to false by default.
|
|
cmLocalXCodeGenerator(cmGlobalGenerator* gg, cmMakefile* mf);
|
|
|
|
~cmLocalXCodeGenerator() override;
|
|
std::string GetTargetDirectory(
|
|
cmGeneratorTarget const* target,
|
|
cmStateEnums::IntermediateDirKind kind) const override;
|
|
void AppendFlagEscape(std::string& flags,
|
|
std::string const& rawFlag) const override;
|
|
void Generate() override;
|
|
void AddGeneratorSpecificInstallSetup(std::ostream& os) override;
|
|
void ComputeObjectFilenames(
|
|
std::map<cmSourceFile const*, cmObjectLocations>& mapping,
|
|
cmGeneratorTarget const* gt = nullptr) override;
|
|
|
|
void AddXCConfigSources(cmGeneratorTarget* target) override;
|
|
|
|
private:
|
|
};
|