From 5608a9a129ce577f7f14f70dc7ff06c27ae92e3d Mon Sep 17 00:00:00 2001 From: Ken Martin Date: Tue, 10 Sep 2002 16:52:56 -0400 Subject: [PATCH] updated signature --- Source/cmTryCompileCommand.cxx | 23 ++++++++++++++++------- Source/cmTryCompileCommand.h | 10 ++++------ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/Source/cmTryCompileCommand.cxx b/Source/cmTryCompileCommand.cxx index 2f9243a08..77e061f48 100644 --- a/Source/cmTryCompileCommand.cxx +++ b/Source/cmTryCompileCommand.cxx @@ -20,17 +20,26 @@ // cmExecutableCommand bool cmTryCompileCommand::InitialPass(std::vector 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 d029b1e30..4226da153 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 )\n" + "Try compiling a program. Return the success or failure in RESULT_VAR " + "If 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 m_FinalArgs; };