| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /*=========================================================================
- 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 "cmAddCustomTargetCommand.h"
- // cmAddCustomTargetCommand
- bool cmAddCustomTargetCommand::InitialPass(std::vector<std::string> const& args)
- {
- bool all = false;
-
- if(args.size() < 2 )
- {
- this->SetError("called with incorrect number of arguments");
- return false;
- }
- // all target option
- std::string arguments;
- std::vector<std::string>::const_iterator s = args.begin();
- ++s; // move past args[0] as it is already to be used
- if (args.size() >= 2)
- {
- if (args[1] == "ALL")
- {
- all = true;
- ++s; // skip all
- }
- }
- std::string command;
- if(s != args.end())
- {
- command = *s;
- ++s;
- }
- for (;s != args.end() && *s != "DEPENDS"; ++s)
- {
- arguments += cmSystemTools::EscapeSpaces(s->c_str());
- arguments += " ";
- }
- std::vector<std::string> depends;
- // skip depends keyword
- if (s != args.end())
- {
- ++s;
- }
- while (s != args.end())
- {
- depends.push_back(*s);
- ++s;
- }
- m_Makefile->AddUtilityCommand(args[0].c_str(),
- command.c_str(),
- arguments.c_str(), all, depends);
- return true;
- }
|