updated signature

This commit is contained in:
Ken Martin 2002-09-10 16:52:56 -04:00
parent bea21587cf
commit 5608a9a129
2 changed files with 20 additions and 13 deletions

View File

@ -20,17 +20,26 @@
// cmExecutableCommand
bool cmTryCompileCommand::InitialPass(std::vector<std::string> const& argv)
{
if(argv.size() < 3)
if(argv.size() < 4)
{
return true;
return false;
}
const char* sourceDirectory = argv[0].c_str();
const char* binaryDirectory = argv[1].c_str();
const char* projectName = argv[2].c_str();
m_Makefile->TryCompile(sourceDirectory,binaryDirectory,projectName);
const char* sourceDirectory = argv[1].c_str();
const char* binaryDirectory = argv[2].c_str();
const char* projectName = argv[3].c_str();
const char* targetName = 0;
if (argv.size() == 5)
{
targetName = argv[4].c_str();
}
int res = m_Makefile->TryCompile(sourceDirectory, binaryDirectory,
projectName, targetName);
// set the result var to the return value to indicate success or failure
m_Makefile->AddDefinition(argv[0].c_str(), (res == 0 ? "TRUE" : "FALSE"));
return true;
}

View File

@ -62,16 +62,14 @@ public:
virtual const char* GetFullDocumentation()
{
return
"TRY_COMPILE(RESULT_VAR CMakeListFile )\n"
"TRY_COMPILE(RESULT_VAR sourceCode)\n"
"Try compiling a program. Return the success or failure in result";
"TRY_COMPILE(RESULT_VAR srcdir bindir projectName <targetName>)\n"
"Try compiling a program. Return the success or failure in RESULT_VAR "
"If <target name> is specified then build just that target "
"otherwise the all or ALL_BUILD target is built.";
}
cmTypeMacro(cmTryCompileCommand, cmCommand);
private:
std::string m_TargetName;
std::vector<std::string> m_FinalArgs;
};