diff options
Diffstat (limited to 'Source/cmTryCompileCommand.cxx')
-rw-r--r-- | Source/cmTryCompileCommand.cxx | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/Source/cmTryCompileCommand.cxx b/Source/cmTryCompileCommand.cxx index 2f9243a..77e061f 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; } |