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