resolve cyclic dependency with zstd
[platform/upstream/cmake.git] / Source / cmGlobalVisualStudio9Generator.h
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
4
5 #include <memory>
6 #include <string>
7
8 #include "cmGlobalVisualStudio8Generator.h"
9
10 class cmGlobalGeneratorFactory;
11 class cmake;
12
13 /** \class cmGlobalVisualStudio9Generator
14  * \brief Write a Unix makefiles.
15  *
16  * cmGlobalVisualStudio9Generator manages UNIX build process for a tree
17  */
18 class cmGlobalVisualStudio9Generator : public cmGlobalVisualStudio8Generator
19 {
20 public:
21   static std::unique_ptr<cmGlobalGeneratorFactory> NewFactory();
22
23   /**
24    * Where does this version of Visual Studio look for macros for the
25    * current user? Returns the empty string if this version of Visual
26    * Studio does not implement support for VB macros.
27    */
28   std::string GetUserMacrosDirectory() override;
29
30   /**
31    * What is the reg key path to "vsmacros" for this version of Visual
32    * Studio?
33    */
34   std::string GetUserMacrosRegKeyBase() override;
35
36 protected:
37   cmGlobalVisualStudio9Generator(cmake* cm, const std::string& name,
38                                  std::string const& platformInGeneratorName);
39
40 private:
41   class Factory;
42   friend class Factory;
43 };