summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2002-09-10 16:52:56 -0400
committerKen Martin <ken.martin@kitware.com>2002-09-10 16:52:56 -0400
commit5608a9a129ce577f7f14f70dc7ff06c27ae92e3d (patch)
tree3f6757b0e81d61816605e148ffb304c83316f77d /Source
parentbea21587cf35f9d373314dd67c24b99fd0e11e49 (diff)
downloadcmake-5608a9a129ce577f7f14f70dc7ff06c27ae92e3d.tar.gz
updated signature
Diffstat (limited to 'Source')
-rw-r--r--Source/cmTryCompileCommand.cxx23
-rw-r--r--Source/cmTryCompileCommand.h10
2 files changed, 20 insertions, 13 deletions
diff --git a/Source/cmTryCompileCommand.cxx b/Source/cmTryCompileCommand.cxx
index 2f9243a08b..77e061f484 100644
--- a/Source/cmTryCompileCommand.cxx
+++ b/Source/cmTryCompileCommand.cxx
@@ -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;
}
diff --git a/Source/cmTryCompileCommand.h b/Source/cmTryCompileCommand.h
index d029b1e300..4226da153b 100644
--- a/Source/cmTryCompileCommand.h
+++ b/Source/cmTryCompileCommand.h
@@ -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;
};