CMake Nightly Date Stamp
[kiteware-cmake.git] / Source / cmLocalXCodeGenerator.h
blobb8251618604704d91fb63a1f16c8edc3e7050ee3
1 /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 file Copyright.txt or https://cmake.org/licensing for details. */
3 #pragma once
5 #include "cmConfigure.h" // IWYU pragma: keep
7 #include <iosfwd>
8 #include <map>
9 #include <string>
11 #include "cmLocalGenerator.h"
13 class cmGeneratorTarget;
14 class cmGlobalGenerator;
15 class cmMakefile;
16 class cmSourceFile;
18 /** \class cmLocalXCodeGenerator
19 * \brief Write a local Xcode project
21 * cmLocalXCodeGenerator produces a LocalUnix makefile from its
22 * member Makefile.
24 class cmLocalXCodeGenerator : public cmLocalGenerator
26 public:
27 //! Set cache only and recurse to false by default.
28 cmLocalXCodeGenerator(cmGlobalGenerator* gg, cmMakefile* mf);
30 ~cmLocalXCodeGenerator() override;
31 std::string GetTargetDirectory(
32 cmGeneratorTarget const* target) const override;
33 void AppendFlagEscape(std::string& flags,
34 const std::string& rawFlag) const override;
35 void Generate() override;
36 void AddGeneratorSpecificInstallSetup(std::ostream& os) override;
37 void ComputeObjectFilenames(
38 std::map<cmSourceFile const*, std::string>& mapping,
39 cmGeneratorTarget const* gt = nullptr) override;
41 void AddXCConfigSources(cmGeneratorTarget* target) override;
43 private: