Introduce "generator expressions" to add_test()
[cmake.git] / Source / cmInstallDirectoryGenerator.cxx
blob54c3b8e19cbffcb2db0b27f9a52db4ada5b68d1e
1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmInstallDirectoryGenerator.cxx,v $
5 Language: C++
6 Date: $Date: 2009-04-27 17:20:54 $
7 Version: $Revision: 1.8 $
9 Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
10 See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notices for more information.
16 =========================================================================*/
17 #include "cmInstallDirectoryGenerator.h"
19 #include "cmTarget.h"
21 //----------------------------------------------------------------------------
22 cmInstallDirectoryGenerator
23 ::cmInstallDirectoryGenerator(std::vector<std::string> const& dirs,
24 const char* dest,
25 const char* file_permissions,
26 const char* dir_permissions,
27 std::vector<std::string> const& configurations,
28 const char* component,
29 const char* literal_args,
30 bool optional):
31 cmInstallGenerator(dest, configurations, component), Directories(dirs),
32 FilePermissions(file_permissions), DirPermissions(dir_permissions),
33 LiteralArguments(literal_args), Optional(optional)
37 //----------------------------------------------------------------------------
38 cmInstallDirectoryGenerator
39 ::~cmInstallDirectoryGenerator()
43 //----------------------------------------------------------------------------
44 void
45 cmInstallDirectoryGenerator::GenerateScriptActions(std::ostream& os,
46 Indent const& indent)
48 // Write code to install the directories.
49 const char* no_rename = 0;
50 this->AddInstallRule(os, cmTarget::INSTALL_DIRECTORY,
51 this->Directories,
52 this->Optional,
53 this->FilePermissions.c_str(),
54 this->DirPermissions.c_str(),
55 no_rename, this->LiteralArguments.c_str(),
56 indent);