make sure ; expansion is done in all commands
This commit is contained in:
parent
0223ba91f3
commit
7d76de4403
|
@ -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";
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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++;
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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];
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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})
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
int file2();
|
||||
int PropertyTest();
|
||||
|
|
|
@ -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})
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
int file2();
|
||||
int PropertyTest();
|
||||
|
|
|
@ -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})
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
int file2();
|
||||
int PropertyTest();
|
||||
|
|
Loading…
Reference in New Issue