summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallFilesGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-02-19 23:47:13 (GMT)
committerBrad King <brad.king@kitware.com>2006-02-19 23:47:13 (GMT)
commit518080136d2b643b2b27ae1ef69cee28306c2f81 (patch)
tree3e57cf1c6f7943dcff3bb879e0da13bc01f97412 /Source/cmInstallFilesGenerator.cxx
parent4140f4a6faa63042cdb5378061cf8d30040a7dd1 (diff)
downloadCMake-518080136d2b643b2b27ae1ef69cee28306c2f81.zip
CMake-518080136d2b643b2b27ae1ef69cee28306c2f81.tar.gz
CMake-518080136d2b643b2b27ae1ef69cee28306c2f81.tar.bz2
ENH: Implemented FILES and PROGRAMS forms of the INSTALL command as replacements for the INSTALL_FILES and INSTALL_PROGRAMS commands. This addresses the request for absolute path install destinations in bug#2691.
Diffstat (limited to 'Source/cmInstallFilesGenerator.cxx')
-rw-r--r--Source/cmInstallFilesGenerator.cxx47
1 files changed, 47 insertions, 0 deletions
diff --git a/Source/cmInstallFilesGenerator.cxx b/Source/cmInstallFilesGenerator.cxx
new file mode 100644
index 0000000..7a73327
--- /dev/null
+++ b/Source/cmInstallFilesGenerator.cxx
@@ -0,0 +1,47 @@
+/*=========================================================================
+
+ Program: CMake - Cross-Platform Makefile Generator
+ Module: $RCSfile$
+ Language: C++
+ Date: $Date$
+ Version: $Revision$
+
+ Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
+ See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+#include "cmInstallFilesGenerator.h"
+
+#include "cmTarget.h"
+
+//----------------------------------------------------------------------------
+cmInstallFilesGenerator
+::cmInstallFilesGenerator(std::vector<std::string> const& files,
+ const char* dest, bool programs):
+ Files(files), Destination(dest), Programs(programs)
+{
+}
+
+//----------------------------------------------------------------------------
+cmInstallFilesGenerator
+::~cmInstallFilesGenerator()
+{
+}
+
+//----------------------------------------------------------------------------
+void cmInstallFilesGenerator::GenerateScript(std::ostream& os)
+{
+ // Write code to install the files.
+ for(std::vector<std::string>::const_iterator fi = this->Files.begin();
+ fi != this->Files.end(); ++fi)
+ {
+ this->AddInstallRule(os, this->Destination.c_str(),
+ (this->Programs
+ ? cmTarget::INSTALL_PROGRAMS
+ : cmTarget::INSTALL_FILES), fi->c_str());
+ }
+}