/*============================================================================ CMake - Cross Platform Makefile Generator Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "cmCTestUploadCommand.h" #include "cmCTest.h" #include "cmCTestGenericHandler.h" #include "cmCTestUploadHandler.h" cmCTestGenericHandler* cmCTestUploadCommand::InitializeHandler() { cmCTestGenericHandler* handler = this->CTest->GetInitializedHandler("upload"); if ( !handler ) { this->SetError("internal CTest error. Cannot instantiate upload handler"); return 0; } static_cast(handler)->SetFiles(this->Files); return handler; } //---------------------------------------------------------------------------- bool cmCTestUploadCommand::CheckArgumentKeyword(std::string const& arg) { if(arg == "FILES") { this->ArgumentDoing = ArgumentDoingFiles; return true; } return false; } //---------------------------------------------------------------------------- bool cmCTestUploadCommand::CheckArgumentValue(std::string const& arg) { if(this->ArgumentDoing == ArgumentDoingFiles) { cmStdString filename(arg); if(cmSystemTools::FileExists(filename.c_str())) { this->Files.insert(filename); return true; } else { cmOStringStream e; e << "File \"" << filename << "\" does not exist. Cannot submit " << "a non-existent file."; this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str()); this->ArgumentDoing = ArgumentDoingError; return false; } } // Look for other arguments. return this->Superclass::CheckArgumentValue(arg); }