|
|
@@ -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;
|
|
|
}
|
|
|
|