[Cmake-commits] [cmake-commits] king committed cmFileCommand.cxx 1.128 1.129

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Apr 29 13:13:16 EDT 2009


Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv23651/Source

Modified Files:
	cmFileCommand.cxx 
Log Message:
ENH: Teach file(INSTALL) relative paths

This teaches the undocumented file(INSTALL) command to deal with
relative paths.  Relative input file paths are evaluated with respect to
the current source directory.  Relative output file paths are evaluated
with respect to the current binary directory.

While this command is currently used only in cmake_install.cmake scripts
(in -P script mode), this cleans up its interface in preparation for a
documented signature.


Index: cmFileCommand.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmFileCommand.cxx,v
retrieving revision 1.128
retrieving revision 1.129
diff -C 2 -d -r1.128 -r1.129
*** cmFileCommand.cxx	29 Apr 2009 17:12:57 -0000	1.128
--- cmFileCommand.cxx	29 Apr 2009 17:13:08 -0000	1.129
***************
*** 1217,1224 ****
      {
      case DoingFiles:
!       this->Files.push_back(arg);
        break;
      case DoingDestination:
!       this->Destination = arg;
        this->Doing = DoingNone;
        break;
--- 1217,1241 ----
      {
      case DoingFiles:
!       if(arg.empty() || cmSystemTools::FileIsFullPath(arg.c_str()))
!         {
!         this->Files.push_back(arg);
!         }
!       else
!         {
!         std::string file = this->Makefile->GetCurrentDirectory();
!         file += "/" + arg;
!         this->Files.push_back(file);
!         }
        break;
      case DoingDestination:
!       if(arg.empty() || cmSystemTools::FileIsFullPath(arg.c_str()))
!         {
!         this->Destination = arg;
!         }
!       else
!         {
!         this->Destination = this->Makefile->GetCurrentOutputDirectory();
!         this->Destination += "/" + arg;
!         }
        this->Doing = DoingNone;
        break;



More information about the Cmake-commits mailing list