make sure ; expansion is done in all commands

This commit is contained in:
Bill Hoffman 2002-03-29 14:20:32 -05:00
parent 0223ba91f3
commit 7d76de4403
63 changed files with 283 additions and 263 deletions

View File

@ -17,13 +17,16 @@
#include "cmAbstractFilesCommand.h"
// cmAbstractFilesCommand
bool cmAbstractFilesCommand::InitialPass(std::vector<std::string> const& args)
bool cmAbstractFilesCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 1 )
if(argsIn.size() < 1 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
bool ret = true;
std::string m = "could not find source file(s):\n";

View File

@ -18,17 +18,19 @@
// cmAddCustomCommandCommand
bool cmAddCustomCommandCommand::InitialPass(std::vector<std::string> const& args)
bool cmAddCustomCommandCommand::InitialPass(std::vector<std::string> const& argsIn)
{
/* Let's complain at the end of this function about the lack of a particular
arg. For the moment, let's say that SOURCE, COMMAND, TARGET are always
required.
*/
if (args.size() < 6)
if (argsIn.size() < 6)
{
this->SetError("called with wrong number of arguments.");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
std::string source, command, target;
std::vector<std::string> command_args, depends, outputs;

View File

@ -17,15 +17,17 @@
#include "cmAddCustomTargetCommand.h"
// cmAddCustomTargetCommand
bool cmAddCustomTargetCommand::InitialPass(std::vector<std::string> const& args)
bool cmAddCustomTargetCommand::InitialPass(std::vector<std::string> const& argsIn)
{
bool all = false;
if(args.size() < 2 )
if(argsIn.size() < 2 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
// all target option
std::string arguments;

View File

@ -17,13 +17,16 @@
#include "cmAddDefinitionsCommand.h"
// cmAddDefinitionsCommand
bool cmAddDefinitionsCommand::InitialPass(std::vector<std::string> const& args)
bool cmAddDefinitionsCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 1 )
if(argsIn.size() < 1 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
for(std::vector<std::string>::const_iterator i = args.begin();
i != args.end(); ++i)
{

View File

@ -18,14 +18,16 @@
#include "cmCacheManager.h"
// cmDependenciesCommand
bool cmAddDependenciesCommand::InitialPass(std::vector<std::string> const& args)
bool cmAddDependenciesCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 2 )
if(argsIn.size() < 2 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
std::string target_name = args[0];
cmTargets &tgts = m_Makefile->GetTargets();

View File

@ -34,13 +34,7 @@ bool cmAddTestCommand::InitialPass(std::vector<std::string> const& args)
// also expand any CMake variables
m_Args.erase(m_Args.begin(), m_Args.end());
std::string temp;
for (std::vector<std::string>::const_iterator j = args.begin();
j != args.end(); ++j)
{
m_Args.push_back(*j);
}
cmSystemTools::ExpandListArguments(args, m_Args);
return true;
}

View File

@ -19,13 +19,15 @@
#include "cmTarget.h"
// cmCableClassSetCommand
bool cmCableClassSetCommand::InitialPass(std::vector<std::string> const& args)
bool cmCableClassSetCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 2)
if(argsIn.size() < 2)
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
// The first argument is the name of the set.
std::vector<std::string>::const_iterator arg = args.begin();

View File

@ -122,17 +122,19 @@ cmCableWrapTclCommand::~cmCableWrapTclCommand()
// cmCableWrapTclCommand
bool cmCableWrapTclCommand::InitialPass(std::vector<std::string> const& args)
bool cmCableWrapTclCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 2)
if(argsIn.size() < 2)
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
// Prepare to iterate through the arguments.
std::vector<std::string>::const_iterator arg = args.begin();
// The first argument is the name of the target.
m_TargetName = *arg++;

View File

@ -68,7 +68,6 @@
#include "cmSetSourceFilesPropertiesCommand.cxx"
#include "cmSiteNameCommand.cxx"
#include "cmSourceFilesCommand.cxx"
#include "cmSourceFilesFlagsCommand.cxx"
#include "cmSourceFilesRemoveCommand.cxx"
#include "cmSourceGroupCommand.cxx"
#include "cmSubdirCommand.cxx"
@ -137,7 +136,6 @@ void GetPredefinedCommands(std::list<cmCommand*>& commands)
commands.push_back(new cmSetSourceFilesPropertiesCommand);
commands.push_back(new cmSiteNameCommand);
commands.push_back(new cmSourceFilesCommand);
commands.push_back(new cmSourceFilesFlagsCommand);
commands.push_back(new cmSourceFilesRemoveCommand);
commands.push_back(new cmSourceGroupCommand);
commands.push_back(new cmSubdirCommand);

View File

@ -27,7 +27,7 @@ bool cmCreateTestSourceList::InitialPass(std::vector<std::string> const& argsIn)
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args, true);
cmSystemTools::ExpandListArguments(argsIn, args);
std::vector<std::string>::iterator i = args.begin();

View File

@ -19,7 +19,7 @@
// cmFLTKWrapUICommand
bool cmFLTKWrapUICommand::InitialPass(std::vector<std::string> const& args)
{
if(args.size() < 2 )
if(args.size() != 2 )
{
this->SetError("called with incorrect number of arguments");
return false;

View File

@ -31,12 +31,12 @@ bool cmFindFileCommand::InitialPass(std::vector<std::string> const& argsIn)
std::string helpString = "Where can the ";
helpString += argsIn[1] + " file be found";
size_t size = argsIn.size();
std::vector<std::string> args;
std::vector<std::string> argst;
for(unsigned int j = 0; j < size; ++j)
{
if(argsIn[j] != "DOC")
{
args.push_back(argsIn[j]);
argst.push_back(argsIn[j]);
}
else
{
@ -47,6 +47,9 @@ bool cmFindFileCommand::InitialPass(std::vector<std::string> const& argsIn)
break;
}
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argst, args);
std::vector<std::string>::const_iterator i = args.begin();
// Use the first argument as the name of something to be defined
const char* define = (*i).c_str();

View File

@ -27,12 +27,12 @@ bool cmFindLibraryCommand::InitialPass(std::vector<std::string> const& argsIn)
}
std::string helpString;
size_t size = argsIn.size();
std::vector<std::string> args;
std::vector<std::string> argst;
for(unsigned int j = 0; j < size; ++j)
{
if(argsIn[j] != "DOC")
{
args.push_back(argsIn[j]);
argst.push_back(argsIn[j]);
}
else
{
@ -43,6 +43,8 @@ bool cmFindLibraryCommand::InitialPass(std::vector<std::string> const& argsIn)
break;
}
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argst, args);
std::vector<std::string> path;
std::vector<std::string> names;

View File

@ -30,13 +30,13 @@ bool cmFindPathCommand::InitialPass(std::vector<std::string> const& argsIn)
// already, if so use that value and don't look for the program
std::string helpString = "What is the path where the file ";
helpString += argsIn[1] + " can be found";
std::vector<std::string> args;
std::vector<std::string> argst;
size_t size = argsIn.size();
for(unsigned int j = 0; j < size; ++j)
{
if(argsIn[j] != "DOC")
{
args.push_back(argsIn[j]);
argst.push_back(argsIn[j]);
}
else
{
@ -47,6 +47,9 @@ bool cmFindPathCommand::InitialPass(std::vector<std::string> const& argsIn)
break;
}
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argst, args);
const char* cacheValue
= m_Makefile->GetDefinition(args[0].c_str());
if(cacheValue && strcmp(cacheValue, "NOTFOUND"))

View File

@ -30,12 +30,12 @@ bool cmFindProgramCommand::InitialPass(std::vector<std::string> const& argsIn)
}
std::string doc = "Path to a program.";
size_t size = argsIn.size();
std::vector<std::string> args;
std::vector<std::string> argst;
for(unsigned int j = 0; j < size; ++j)
{
if(argsIn[j] != "DOC")
{
args.push_back(argsIn[j]);
argst.push_back(argsIn[j]);
}
else
{
@ -46,6 +46,10 @@ bool cmFindProgramCommand::InitialPass(std::vector<std::string> const& argsIn)
break;
}
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argst, args);
std::vector<std::string>::iterator i = args.begin();
// Use the first argument as the name of something to be defined
const char* define = (*i).c_str();

View File

@ -20,7 +20,7 @@
bool cmGetSourceFilePropertyCommand::InitialPass(std::vector<std::string> const&
args)
{
if(args.size() < 3 )
if(args.size() != 3 )
{
this->SetError("called with incorrect number of arguments");
return false;
@ -38,7 +38,7 @@ bool cmGetSourceFilePropertyCommand::InitialPass(std::vector<std::string> const&
{
m_Makefile->AddDefinition(var, sf->GetWrapExclude());
}
if(args[2] == "FLAGS")
if(args[2] == "COMPILE_FLAGS")
{
m_Makefile->AddDefinition(var, sf->GetCompileFlags());
}

View File

@ -53,7 +53,7 @@ public:
virtual const char* GetFullDocumentation()
{
return
"GET_SOURCE_FILE_PROPERTY(VAR file [ABSTRACT|WRAP_EXCLUDE|FLAGS]) "
"GET_SOURCE_FILE_PROPERTY(VAR file [ABSTRACT|WRAP_EXCLUDE|COMPILE_FLAGS]) "
"Get a property from a source file. The value of the property is stored "
"in the variable VAR.";
}

View File

@ -17,13 +17,15 @@
#include "cmIncludeDirectoryCommand.h"
#include "cmCacheManager.h"
// cmIncludeDirectoryCommand
bool cmIncludeDirectoryCommand::InitialPass(std::vector<std::string> const& args)
bool cmIncludeDirectoryCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 1 )
if(argsIn.size() < 1 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
std::vector<std::string>::const_iterator i = args.begin();

View File

@ -18,13 +18,15 @@
#include "cmCacheManager.h"
// cmExecutableCommand
bool cmInstallFilesCommand::InitialPass(std::vector<std::string> const& args)
bool cmInstallFilesCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 2)
if(argsIn.size() < 2)
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
// Create an INSTALL_FILES target specifically for this path.
m_TargetName = "INSTALL_FILES_"+args[0];

View File

@ -18,13 +18,15 @@
#include "cmCacheManager.h"
// cmExecutableCommand
bool cmInstallProgramsCommand::InitialPass(std::vector<std::string> const& args)
bool cmInstallProgramsCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 2)
if(argsIn.size() < 2)
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
// Create an INSTALL_PROGRAMS target specifically for this path.
m_TargetName = "INSTALL_PROGRAMS_"+args[0];

View File

@ -18,13 +18,15 @@
#include "cmCacheManager.h"
// cmExecutableCommand
bool cmInstallTargetsCommand::InitialPass(std::vector<std::string> const& args)
bool cmInstallTargetsCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 2 )
if(argsIn.size() < 2 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
cmTargets &tgts = m_Makefile->GetTargets();
std::vector<std::string>::const_iterator s = args.begin();

View File

@ -17,13 +17,16 @@
#include "cmLinkDirectoriesCommand.h"
// cmLinkDirectoriesCommand
bool cmLinkDirectoriesCommand::InitialPass(std::vector<std::string> const& args)
bool cmLinkDirectoriesCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 1 )
if(argsIn.size() < 1 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
for(std::vector<std::string>::const_iterator i = args.begin();
i != args.end(); ++i)
{

View File

@ -18,13 +18,15 @@
// cmLoadcacheCommand
bool cmLoadCacheCommand::InitialPass(std::vector<std::string> const& args)
bool cmLoadCacheCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if (args.size()< 1)
if (argsIn.size()< 1)
{
this->SetError("called with wrong number of arguments.");
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
// Cache entries to be excluded from the import list.
// If this set is empty, all cache entries are brought in
// and they can not be overridden.

View File

@ -20,7 +20,7 @@
// cmMakeDirectoryCommand
bool cmMakeDirectoryCommand::InitialPass(std::vector<std::string> const& args)
{
if(args.size() < 1 )
if(args.size() != 1 )
{
this->SetError("called with incorrect number of arguments");
return false;

View File

@ -17,13 +17,16 @@
#include "cmMarkAsAdvancedCommand.h"
// cmMarkAsAdvancedCommand
bool cmMarkAsAdvancedCommand::InitialPass(std::vector<std::string> const& args)
bool cmMarkAsAdvancedCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 1 )
if(argsIn.size() < 1 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
unsigned int i =0;
const char* value = "1";
bool overwrite = false;

View File

@ -159,7 +159,7 @@ void cmLBDepend::DependWalk(cmDependInformation* info)
// cmOutputRequiredFilesCommand
bool cmOutputRequiredFilesCommand::InitialPass(std::vector<std::string> const& args)
{
if(args.size() < 2 )
if(args.size() != 2 )
{
this->SetError("called with incorrect number of arguments");
return false;

View File

@ -19,7 +19,7 @@
// cmProjectCommand
bool cmProjectCommand::InitialPass(std::vector<std::string> const& args)
{
if(args.size() < 1 || args.size() > 1)
if(args.size() != 1 )
{
this->SetError("PROJECT called with incorrect number of arguments");
return false;

View File

@ -17,13 +17,15 @@
#include "cmQTWrapCPPCommand.h"
// cmQTWrapCPPCommand
bool cmQTWrapCPPCommand::InitialPass(std::vector<std::string> const& args)
bool cmQTWrapCPPCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 3 )
if(argsIn.size() < 3 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
// Now check and see if the value has been stored in the cache
// already, if so use that value and don't look for the program

View File

@ -17,13 +17,15 @@
#include "cmQTWrapUICommand.h"
// cmQTWrapUICommand
bool cmQTWrapUICommand::InitialPass(std::vector<std::string> const& args)
bool cmQTWrapUICommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 4 )
if(argsIn.size() < 4 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
// Now check and see if the value has been stored in the cache
// already, if so use that value and don't look for the program

View File

@ -18,14 +18,16 @@
// cmSetSourceFilesPropertiesCommand
bool cmSetSourceFilesPropertiesCommand::InitialPass(std::vector<std::string> const&
args)
argsIn)
{
if(args.size() < 2 )
if(argsIn.size() < 2 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
std::vector<std::string>::const_iterator j;
// first collect up all the flags that need to be set on the file
bool abstract = false;
@ -46,7 +48,7 @@ bool cmSetSourceFilesPropertiesCommand::InitialPass(std::vector<std::string> con
{
generated = true;
}
else if(*j == "FLAGS")
else if(*j == "COMPILE_FLAGS")
{
++j;
if(j == args.end())
@ -61,7 +63,7 @@ bool cmSetSourceFilesPropertiesCommand::InitialPass(std::vector<std::string> con
for(j = args.begin(); j != args.end(); ++j)
{
// at the sign of the first property exit the loop
if(*j == "ABSTRACT" || *j == "WRAP_EXCLUDE" || *j == "FLAGS")
if(*j == "ABSTRACT" || *j == "WRAP_EXCLUDE" || *j == "COMPILE_FLAGS")
{
break;
}

View File

@ -53,7 +53,7 @@ public:
virtual const char* GetFullDocumentation()
{
return
"SET_SOURCE_FILES_PROPERTIES(flags file1 file2 [ABSTRACT|WRAP_EXCLUDE|GENERATED|FLAGS] [flags]) "
"SET_SOURCE_FILES_PROPERTIES(flags file1 file2 [ABSTRACT|WRAP_EXCLUDE|GENERATED|COMPILE_FLAGS] [flags]) "
"Set properties on a file. The syntax for the command is to list all the files you want "
"to change, and then provide the values you want to set next.";
}

View File

@ -19,7 +19,7 @@
// cmSiteNameCommand
bool cmSiteNameCommand::InitialPass(std::vector<std::string> const& args)
{
if(args.size() < 1 )
if(args.size() != 1 )
{
this->SetError("called with incorrect number of arguments");
return false;

View File

@ -17,14 +17,16 @@
#include "cmSourceFilesCommand.h"
// cmSourceFilesCommand
bool cmSourceFilesCommand::InitialPass(std::vector<std::string> const& args)
bool cmSourceFilesCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 1 )
if(argsIn.size() < 1 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
std::string name = args[0];
int generated = 0;

View File

@ -1,49 +0,0 @@
/*=========================================================================
Program: Insight Segmentation & Registration Toolkit
Module: $RCSfile$
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) 2002 Insight Consortium. All rights reserved.
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "cmSourceFilesFlagsCommand.h"
// cmSourceFilesFlagsCommand
bool cmSourceFilesFlagsCommand::InitialPass(std::vector<std::string> const&
args)
{
if(args.size() < 2 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string>::const_iterator j = args.begin();
std::string flags = *j;
++j;
for(;j != args.end(); ++j)
{
cmSourceFile* sf = m_Makefile->GetSource(j->c_str());
if(sf)
{
sf->SetCompileFlags(flags.c_str());
}
else
{
std::string m = "could not find source file ";
m += *j;
this->SetError(m.c_str());
return false;
}
}
return true;
}

View File

@ -1,64 +0,0 @@
/*=========================================================================
Program: Insight Segmentation & Registration Toolkit
Module: $RCSfile$
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) 2002 Insight Consortium. All rights reserved.
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
=========================================================================*/
#ifndef cmSourceFilesFlagsCommand_h
#define cmSourceFilesFlagsCommand_h
#include "cmStandardIncludes.h"
#include "cmCommand.h"
class cmSourceFilesFlagsCommand : public cmCommand
{
public:
virtual cmCommand* Clone()
{
return new cmSourceFilesFlagsCommand;
}
/**
* This is called when the command is first encountered in
* the input file.
*/
virtual bool InitialPass(std::vector<std::string> const& args);
/**
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() { return "SOURCE_FILES_FLAGS";}
/**
* Succinct documentation.
*/
virtual const char* GetTerseDocumentation()
{
return "Set compile flags for a specific list of files.";
}
/**
* Longer documentation.
*/
virtual const char* GetFullDocumentation()
{
return
"SOURCE_FILES_FLAGS(flags file1 file2 ..)";
}
cmTypeMacro(cmSourceFilesFlagsCommand, cmCommand);
};
#endif

View File

@ -17,13 +17,16 @@
#include "cmSourceFilesRemoveCommand.h"
// cmSourceFilesRemoveCommand
bool cmSourceFilesRemoveCommand::InitialPass(std::vector<std::string> const& args)
bool cmSourceFilesRemoveCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 1 )
if(argsIn.size() < 1 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
int generated = 0;
for(std::vector<std::string>::const_iterator i = (args.begin() + 1);
i != args.end(); ++i)

View File

@ -17,13 +17,16 @@
#include "cmSubdirCommand.h"
// cmSubdirCommand
bool cmSubdirCommand::InitialPass(std::vector<std::string> const& args)
bool cmSubdirCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 1 )
if(argsIn.size() < 1 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
for(std::vector<std::string>::const_iterator i = args.begin();
i != args.end(); ++i)
{

View File

@ -1045,10 +1045,16 @@ bool RunCommandViaSystem(const char* command,
cmSystemTools::RemoveFile(tempFile.c_str());
return false;
}
bool multiLine = false;
while(fin)
{
fin.getline(buffer, BUFFER_SIZE);
output += buffer;
if(multiLine)
{
output += "\n";
}
multiLine = true;
}
fin.close();
cmSystemTools::RemoveFile(tempFile.c_str());
@ -1609,8 +1615,7 @@ void cmSystemTools::GlobDirs(const char *fullPath,
void cmSystemTools::ExpandListArguments(std::vector<std::string> const& arguments,
std::vector<std::string>& newargs,
bool ignore_empty)
std::vector<std::string>& newargs)
{
std::vector<std::string>::const_iterator i;
for(i = arguments.begin();i != arguments.end(); ++i)
@ -1631,7 +1636,7 @@ void cmSystemTools::ExpandListArguments(std::vector<std::string> const& argument
{
len = i->size()-start;
}
if (ignore_empty == false || len > 0)
if (len > 0)
{
newargs.push_back(i->substr(start, len));
}

View File

@ -48,8 +48,7 @@ public:
* containing the expanded versions of all arguments in argsIn.
*/
static void ExpandListArguments(std::vector<std::string> const& argsIn,
std::vector<std::string>& argsOut,
bool ignore_empty = false);
std::vector<std::string>& argsOut);
/**
* Look for and replace registry values in a string

View File

@ -23,7 +23,7 @@ bool cmUseMangledMesaCommand::InitialPass(std::vector<std::string> const& args)
// expected two arguments:
// arguement one: the full path to gl_mangle.h
// arguement two : directory for output of edited headers
if(args.size() < 2)
if(args.size() != 2)
{
this->SetError("called with incorrect number of arguments");
return false;

View File

@ -62,8 +62,8 @@ public:
virtual const char* GetFullDocumentation()
{
return
"USE_MANGLED_MESA(\"path to mesa includes, should contain gl_mangle.h\""
" \"directory for output\" )";
"USE_MANGLED_MESA(PATH_TO_MESA OUTPUT_DIRECTORY)\n"
"The path to mesa includes, should contain gl_mangle.h. ";
}
protected:

View File

@ -17,14 +17,16 @@
#include "cmUtilitySourceCommand.h"
// cmUtilitySourceCommand
bool cmUtilitySourceCommand::InitialPass(std::vector<std::string> const& args)
bool cmUtilitySourceCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 3)
if(argsIn.size() < 3)
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
std::vector<std::string>::const_iterator arg = args.begin();
// The first argument is the cache entry name.

View File

@ -20,14 +20,16 @@
bool
cmVTKMakeInstantiatorCommand
::InitialPass(std::vector<std::string> const& args)
::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 3)
if(argsIn.size() < 3)
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
m_ClassName = args[0];
std::string outSourceList = args[1];

View File

@ -17,13 +17,15 @@
#include "cmVTKWrapJavaCommand.h"
// cmVTKWrapJavaCommand
bool cmVTKWrapJavaCommand::InitialPass(std::vector<std::string> const& args)
bool cmVTKWrapJavaCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 3 )
if(argsIn.size() < 3 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
// Now check and see if the value has been stored in the cache
// already, if so use that value and don't look for the program

View File

@ -17,13 +17,15 @@
#include "cmVTKWrapPythonCommand.h"
// cmVTKWrapPythonCommand
bool cmVTKWrapPythonCommand::InitialPass(std::vector<std::string> const& args)
bool cmVTKWrapPythonCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 3 )
if(argsIn.size() < 3 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
// Now check and see if the value has been stored in the cache
// already, if so use that value and don't look for the program

View File

@ -17,14 +17,15 @@
#include "cmVTKWrapTclCommand.h"
// cmVTKWrapTclCommand
bool cmVTKWrapTclCommand::InitialPass(std::vector<std::string> const& args)
bool cmVTKWrapTclCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 3 )
if(argsIn.size() < 3 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
// keep the library name
m_LibraryName = args[0];

View File

@ -25,7 +25,7 @@ bool cmVariableRequiresCommand::InitialPass(std::vector<std::string> const& args
this->SetError("called with incorrect number of arguments");
return false;
}
m_Arguments = args;
cmSystemTools::ExpandListArguments(args, m_Arguments);
return true;
}

View File

@ -17,14 +17,15 @@
#include "cmWrapExcludeFilesCommand.h"
// cmWrapExcludeFilesCommand
bool cmWrapExcludeFilesCommand::InitialPass(std::vector<std::string> const& args)
bool cmWrapExcludeFilesCommand::InitialPass(std::vector<std::string> const& argsIn)
{
if(args.size() < 1 )
if(argsIn.size() < 1 )
{
this->SetError("called with incorrect number of arguments");
return false;
}
std::vector<std::string> args;
cmSystemTools::ExpandListArguments(argsIn, args);
cmMakefile::SourceMap &Classes = m_Makefile->GetSources();
for(std::vector<std::string>::const_iterator j = args.begin();
j != args.end(); ++j)

View File

@ -1,8 +1,8 @@
#
# Create exe.
#
SET_SOURCE_FILES_PROPERTIES(complex COMPILE_FLAGS "-DSET_SOURCE_FILES_PROPERTIES")
ADD_EXECUTABLE(complex complex)
SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared)
TARGET_LINK_LIBRARIES(complex ${COMPLEX_LIBS})

View File

@ -95,6 +95,11 @@ void TestDir(const char* filename)
int main()
{
#ifdef SET_SOURCE_FILES_PROPERTIES
cmPassed("SET_SOURCE_FILES_PROPERTIES set FLAGS passed on an ADD_EXECUTABLE source");
#else
cmFailed("SET_SOURCE_FILES_PROPERTIES set FLAGS passed on an ADD_EXECUTABLE source");
#endif
if(sharedFunction() != 1)
{
cmFailed("Call to sharedFunction from shared library failed.");
@ -121,6 +126,14 @@ int main()
{
cmPassed("Call to file2 function returned 1.");
}
if(PropertyTest() != 1)
{
cmFailed("Call to PropertyTest function from library failed.");
}
else
{
cmPassed("Call to PropertyTest function returned 1.");
}
// ----------------------------------------------------------------------
// Test ADD_DEFINITIONS

View File

@ -25,26 +25,16 @@ ADD_LIBRARY(CMakeTestLibrary LibrarySources)
#
# test SET_SOURCE_FILES_PROPERTIES
SET_SOURCE_FILES_PROPERTIES(nonexisting_file2 GENERATED ABSTRACT WRAP_EXCLUDE FLAGS "-foo -bar")
SET_SOURCE_FILES_PROPERTIES(nonexisting_file2 GENERATED ABSTRACT WRAP_EXCLUDE COMPILE_FLAGS "-foo -bar")
GET_SOURCE_FILE_PROPERTY(ISABS nonexisting_file2 ABSTRACT)
GET_SOURCE_FILE_PROPERTY(WRAPEX nonexisting_file2 WRAP_EXCLUDE)
GET_SOURCE_FILE_PROPERTY(FLAGS nonexisting_file2 FLAGS)
GET_SOURCE_FILE_PROPERTY(FLAGS nonexisting_file2 COMPILE_FLAGS)
MESSAGE("ISABS = ${ISABS} WRAPEX = ${WRAPEX} FLAGS = ${FLAGS}")
# to force a failed test add a source file that does not exist with
# the name of the failed test
IF(NOT ISABS)
SOURCE_FILES(ISABS IS_ABSTRACT_FailTest)
ENDIF(NOT ISABS)
IF(NOT WRAPEX)
SOURCE_FILES(WRAPEX IS_WRAP_EXCLUDE_FailTest)
ENDIF(NOT WRAPEX)
CONFIGURE_FILE(
${Complex_SOURCE_DIR}/Library/cmTestLibraryConfigure.h.in
${Complex_BINARY_DIR}/Library/cmTestLibraryConfigure.h)
IF(FLAGS MATCHES "-foo -bar")
MESSAGE("Flags are set correctly ")
ELSE(FLAGS MATCHES "-foo -bar")
SOURCE_FILES(WRAPEX FLAGS_FailTest)
ENDIF(FLAGS MATCHES "-foo -bar")
@ -52,7 +42,7 @@ SOURCE_FILES(SharedLibrarySources nonexisting_file2)
SOURCE_FILES_REMOVE(SharedLibrarySources GENERATED nonexisting_file2)
SET_SOURCE_FILES_PROPERTIES(fileFlags FLAGS "-DEXTRA_FLAG" )
SET_SOURCE_FILES_PROPERTIES(fileFlags COMPILE_FLAGS "-DEXTRA_FLAG" )
SOURCE_FILES(SharedLibrarySources sharedFile fileFlags)
ADD_LIBRARY(CMakeTestLibraryShared SHARED SharedLibrarySources)

View File

@ -1,4 +1,23 @@
#include <Library/cmTestLibraryConfigure.h>
#include <string.h>
int file2()
{
return 1;
}
int PropertyTest()
{
int ret = 1;
#ifndef ISABS
ret = 0;
#endif
#ifndef WRAPEX
ret = 0;
#endif
if(strcmp(FLAGS,"-foo -bar") != 0)
{
ret =0;
}
return ret;
}

View File

@ -1 +1,2 @@
int file2();
int PropertyTest();

View File

@ -1,8 +1,8 @@
#
# Create exe.
#
SET_SOURCE_FILES_PROPERTIES(complex COMPILE_FLAGS "-DSET_SOURCE_FILES_PROPERTIES")
ADD_EXECUTABLE(complex complex)
SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared)
TARGET_LINK_LIBRARIES(complex ${COMPLEX_LIBS})

View File

@ -95,6 +95,11 @@ void TestDir(const char* filename)
int main()
{
#ifdef SET_SOURCE_FILES_PROPERTIES
cmPassed("SET_SOURCE_FILES_PROPERTIES set FLAGS passed on an ADD_EXECUTABLE source");
#else
cmFailed("SET_SOURCE_FILES_PROPERTIES set FLAGS passed on an ADD_EXECUTABLE source");
#endif
if(sharedFunction() != 1)
{
cmFailed("Call to sharedFunction from shared library failed.");
@ -121,6 +126,14 @@ int main()
{
cmPassed("Call to file2 function returned 1.");
}
if(PropertyTest() != 1)
{
cmFailed("Call to PropertyTest function from library failed.");
}
else
{
cmPassed("Call to PropertyTest function returned 1.");
}
// ----------------------------------------------------------------------
// Test ADD_DEFINITIONS

View File

@ -25,26 +25,16 @@ ADD_LIBRARY(CMakeTestLibrary LibrarySources)
#
# test SET_SOURCE_FILES_PROPERTIES
SET_SOURCE_FILES_PROPERTIES(nonexisting_file2 GENERATED ABSTRACT WRAP_EXCLUDE FLAGS "-foo -bar")
SET_SOURCE_FILES_PROPERTIES(nonexisting_file2 GENERATED ABSTRACT WRAP_EXCLUDE COMPILE_FLAGS "-foo -bar")
GET_SOURCE_FILE_PROPERTY(ISABS nonexisting_file2 ABSTRACT)
GET_SOURCE_FILE_PROPERTY(WRAPEX nonexisting_file2 WRAP_EXCLUDE)
GET_SOURCE_FILE_PROPERTY(FLAGS nonexisting_file2 FLAGS)
GET_SOURCE_FILE_PROPERTY(FLAGS nonexisting_file2 COMPILE_FLAGS)
MESSAGE("ISABS = ${ISABS} WRAPEX = ${WRAPEX} FLAGS = ${FLAGS}")
# to force a failed test add a source file that does not exist with
# the name of the failed test
IF(NOT ISABS)
SOURCE_FILES(ISABS IS_ABSTRACT_FailTest)
ENDIF(NOT ISABS)
IF(NOT WRAPEX)
SOURCE_FILES(WRAPEX IS_WRAP_EXCLUDE_FailTest)
ENDIF(NOT WRAPEX)
CONFIGURE_FILE(
${Complex_SOURCE_DIR}/Library/cmTestLibraryConfigure.h.in
${Complex_BINARY_DIR}/Library/cmTestLibraryConfigure.h)
IF(FLAGS MATCHES "-foo -bar")
MESSAGE("Flags are set correctly ")
ELSE(FLAGS MATCHES "-foo -bar")
SOURCE_FILES(WRAPEX FLAGS_FailTest)
ENDIF(FLAGS MATCHES "-foo -bar")
@ -52,7 +42,7 @@ SOURCE_FILES(SharedLibrarySources nonexisting_file2)
SOURCE_FILES_REMOVE(SharedLibrarySources GENERATED nonexisting_file2)
SET_SOURCE_FILES_PROPERTIES(fileFlags FLAGS "-DEXTRA_FLAG" )
SET_SOURCE_FILES_PROPERTIES(fileFlags COMPILE_FLAGS "-DEXTRA_FLAG" )
SOURCE_FILES(SharedLibrarySources sharedFile fileFlags)
ADD_LIBRARY(CMakeTestLibraryShared SHARED SharedLibrarySources)

View File

@ -1,4 +1,23 @@
#include <Library/cmTestLibraryConfigure.h>
#include <string.h>
int file2()
{
return 1;
}
int PropertyTest()
{
int ret = 1;
#ifndef ISABS
ret = 0;
#endif
#ifndef WRAPEX
ret = 0;
#endif
if(strcmp(FLAGS,"-foo -bar") != 0)
{
ret =0;
}
return ret;
}

View File

@ -1 +1,2 @@
int file2();
int PropertyTest();

View File

@ -1,8 +1,8 @@
#
# Create exe.
#
SET_SOURCE_FILES_PROPERTIES(complex COMPILE_FLAGS "-DSET_SOURCE_FILES_PROPERTIES")
ADD_EXECUTABLE(complex complex)
SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared)
TARGET_LINK_LIBRARIES(complex ${COMPLEX_LIBS})

View File

@ -95,6 +95,11 @@ void TestDir(const char* filename)
int main()
{
#ifdef SET_SOURCE_FILES_PROPERTIES
cmPassed("SET_SOURCE_FILES_PROPERTIES set FLAGS passed on an ADD_EXECUTABLE source");
#else
cmFailed("SET_SOURCE_FILES_PROPERTIES set FLAGS passed on an ADD_EXECUTABLE source");
#endif
if(sharedFunction() != 1)
{
cmFailed("Call to sharedFunction from shared library failed.");
@ -121,6 +126,14 @@ int main()
{
cmPassed("Call to file2 function returned 1.");
}
if(PropertyTest() != 1)
{
cmFailed("Call to PropertyTest function from library failed.");
}
else
{
cmPassed("Call to PropertyTest function returned 1.");
}
// ----------------------------------------------------------------------
// Test ADD_DEFINITIONS

View File

@ -25,26 +25,16 @@ ADD_LIBRARY(CMakeTestLibrary LibrarySources)
#
# test SET_SOURCE_FILES_PROPERTIES
SET_SOURCE_FILES_PROPERTIES(nonexisting_file2 GENERATED ABSTRACT WRAP_EXCLUDE FLAGS "-foo -bar")
SET_SOURCE_FILES_PROPERTIES(nonexisting_file2 GENERATED ABSTRACT WRAP_EXCLUDE COMPILE_FLAGS "-foo -bar")
GET_SOURCE_FILE_PROPERTY(ISABS nonexisting_file2 ABSTRACT)
GET_SOURCE_FILE_PROPERTY(WRAPEX nonexisting_file2 WRAP_EXCLUDE)
GET_SOURCE_FILE_PROPERTY(FLAGS nonexisting_file2 FLAGS)
GET_SOURCE_FILE_PROPERTY(FLAGS nonexisting_file2 COMPILE_FLAGS)
MESSAGE("ISABS = ${ISABS} WRAPEX = ${WRAPEX} FLAGS = ${FLAGS}")
# to force a failed test add a source file that does not exist with
# the name of the failed test
IF(NOT ISABS)
SOURCE_FILES(ISABS IS_ABSTRACT_FailTest)
ENDIF(NOT ISABS)
IF(NOT WRAPEX)
SOURCE_FILES(WRAPEX IS_WRAP_EXCLUDE_FailTest)
ENDIF(NOT WRAPEX)
CONFIGURE_FILE(
${Complex_SOURCE_DIR}/Library/cmTestLibraryConfigure.h.in
${Complex_BINARY_DIR}/Library/cmTestLibraryConfigure.h)
IF(FLAGS MATCHES "-foo -bar")
MESSAGE("Flags are set correctly ")
ELSE(FLAGS MATCHES "-foo -bar")
SOURCE_FILES(WRAPEX FLAGS_FailTest)
ENDIF(FLAGS MATCHES "-foo -bar")
@ -52,7 +42,7 @@ SOURCE_FILES(SharedLibrarySources nonexisting_file2)
SOURCE_FILES_REMOVE(SharedLibrarySources GENERATED nonexisting_file2)
SET_SOURCE_FILES_PROPERTIES(fileFlags FLAGS "-DEXTRA_FLAG" )
SET_SOURCE_FILES_PROPERTIES(fileFlags COMPILE_FLAGS "-DEXTRA_FLAG" )
SOURCE_FILES(SharedLibrarySources sharedFile fileFlags)
ADD_LIBRARY(CMakeTestLibraryShared SHARED SharedLibrarySources)

View File

@ -1,4 +1,23 @@
#include <Library/cmTestLibraryConfigure.h>
#include <string.h>
int file2()
{
return 1;
}
int PropertyTest()
{
int ret = 1;
#ifndef ISABS
ret = 0;
#endif
#ifndef WRAPEX
ret = 0;
#endif
if(strcmp(FLAGS,"-foo -bar") != 0)
{
ret =0;
}
return ret;
}

View File

@ -1 +1,2 @@
int file2();
int PropertyTest();