1 /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 file Copyright.txt or https://cmake.org/licensing for details. */
5 #include "cmConfigure.h" // IWYU pragma: keep
11 #include <cm/optional>
13 #include "cmGlobalVisualStudio10Generator.h"
14 #include "cmTransformDepfile.h"
16 class cmGlobalGeneratorFactory;
20 /** \class cmGlobalVisualStudio11Generator */
21 class cmGlobalVisualStudio11Generator : public cmGlobalVisualStudio10Generator
24 static std::unique_ptr<cmGlobalGeneratorFactory> NewFactory();
26 bool MatchesGeneratorName(const std::string& name) const override;
28 bool SupportsCustomCommandDepfile() const override { return true; }
30 cm::optional<cmDepfileFormat> DepfileFormat() const override
32 return cmDepfileFormat::MSBuildAdditionalInputs;
36 cmGlobalVisualStudio11Generator(cmake* cm, const std::string& name,
37 std::string const& platformInGeneratorName);
39 bool InitializeWindowsPhone(cmMakefile* mf) override;
40 bool InitializeWindowsStore(cmMakefile* mf) override;
41 bool SelectWindowsPhoneToolset(std::string& toolset) const override;
42 bool SelectWindowsStoreToolset(std::string& toolset) const override;
44 // Used to verify that the Desktop toolset for the current generator is
45 // installed on the machine.
46 virtual bool IsWindowsDesktopToolsetInstalled() const;
48 // These aren't virtual because we need to check if the selected version
49 // of the toolset is installed
50 bool IsWindowsPhoneToolsetInstalled() const;
51 bool IsWindowsStoreToolsetInstalled() const;
53 bool UseFolderProperty() const override;
54 static std::set<std::string> GetInstalledWindowsCESDKs();
56 /** Return true if target system supports debugging deployment. */
57 bool TargetSystemSupportsDeployment() const override;