cmInstallDirectoryGenerator.cxx 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*============================================================================
  2. CMake - Cross Platform Makefile Generator
  3. Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
  4. Distributed under the OSI-approved BSD License (the "License");
  5. see accompanying file Copyright.txt for details.
  6. This software is distributed WITHOUT ANY WARRANTY; without even the
  7. implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  8. See the License for more information.
  9. ============================================================================*/
  10. #include "cmInstallDirectoryGenerator.h"
  11. #include "cmTarget.h"
  12. //----------------------------------------------------------------------------
  13. cmInstallDirectoryGenerator
  14. ::cmInstallDirectoryGenerator(std::vector<std::string> const& dirs,
  15. const char* dest,
  16. const char* file_permissions,
  17. const char* dir_permissions,
  18. std::vector<std::string> const& configurations,
  19. const char* component,
  20. const char* literal_args,
  21. bool optional):
  22. cmInstallGenerator(dest, configurations, component), Directories(dirs),
  23. FilePermissions(file_permissions), DirPermissions(dir_permissions),
  24. LiteralArguments(literal_args), Optional(optional)
  25. {
  26. }
  27. //----------------------------------------------------------------------------
  28. cmInstallDirectoryGenerator
  29. ::~cmInstallDirectoryGenerator()
  30. {
  31. }
  32. //----------------------------------------------------------------------------
  33. void
  34. cmInstallDirectoryGenerator::GenerateScriptActions(std::ostream& os,
  35. Indent const& indent)
  36. {
  37. // Write code to install the directories.
  38. const char* no_rename = 0;
  39. this->AddInstallRule(os, cmTarget::INSTALL_DIRECTORY,
  40. this->Directories,
  41. this->Optional,
  42. this->FilePermissions.c_str(),
  43. this->DirPermissions.c_str(),
  44. no_rename, this->LiteralArguments.c_str(),
  45. indent);
  46. }