cmGlobalVisualStudio71Generator.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. #include <iosfwd>
  5. #include <set>
  6. #include <string>
  7. #include <utility>
  8. #include <vector>
  9. #include "cmGlobalVisualStudio7Generator.h"
  10. #include "cmValue.h"
  11. class cmGeneratorTarget;
  12. class cmLocalGenerator;
  13. class cmake;
  14. template <typename T>
  15. class BT;
  16. /** \class cmGlobalVisualStudio71Generator
  17. * \brief Write a Unix makefiles.
  18. *
  19. * cmGlobalVisualStudio71Generator manages UNIX build process for a tree
  20. */
  21. class cmGlobalVisualStudio71Generator : public cmGlobalVisualStudio7Generator
  22. {
  23. public:
  24. cmGlobalVisualStudio71Generator(cmake* cm);
  25. protected:
  26. void WriteSLNFile(std::ostream& fout, cmLocalGenerator* root,
  27. std::vector<cmLocalGenerator*>& generators) override;
  28. virtual void WriteSolutionConfigurations(
  29. std::ostream& fout, std::vector<std::string> const& configs);
  30. void WriteProject(std::ostream& fout, const std::string& name,
  31. const std::string& path,
  32. const cmGeneratorTarget* t) override;
  33. void WriteProjectDepends(std::ostream& fout, const std::string& name,
  34. const std::string& path,
  35. cmGeneratorTarget const* t) override;
  36. void WriteProjectConfigurations(
  37. std::ostream& fout, const std::string& name,
  38. cmGeneratorTarget const& target, std::vector<std::string> const& configs,
  39. const std::set<std::string>& configsPartOfDefaultBuild,
  40. const std::string& platformMapping = "") override;
  41. void WriteExternalProject(
  42. std::ostream& fout, const std::string& name, const std::string& path,
  43. cmValue typeGuid,
  44. const std::set<BT<std::pair<std::string, bool>>>& depends) override;
  45. // Folders are not supported by VS 7.1.
  46. bool UseFolderProperty() const override { return false; }
  47. std::string ProjectConfigurationSectionName;
  48. };