|
|
@@ -40,7 +40,7 @@ public:
|
|
|
std::string* runOutputStdOutContents,
|
|
|
std::string* runOutputStdErrContents);
|
|
|
void DoNotRunExecutable(const std::string& runArgs,
|
|
|
- const std::string& srcFile,
|
|
|
+ cm::optional<std::string> const& srcFile,
|
|
|
std::string const& compileResultVariable,
|
|
|
std::string* runOutputContents,
|
|
|
std::string* runOutputStdOutContents,
|
|
|
@@ -128,7 +128,7 @@ bool TryRunCommandImpl::TryRunCode(std::vector<std::string> const& argv)
|
|
|
if (this->Makefile->IsOn("CMAKE_CROSSCOMPILING") &&
|
|
|
!this->Makefile->IsDefinitionSet("CMAKE_CROSSCOMPILING_EMULATOR")) {
|
|
|
this->DoNotRunExecutable(
|
|
|
- runArgs, *arguments.SourceDirectoryOrFile,
|
|
|
+ runArgs, arguments.SourceDirectoryOrFile,
|
|
|
*arguments.CompileResultVariable,
|
|
|
captureRunOutput ? &runOutputContents : nullptr,
|
|
|
captureRunOutputStdOutErr && arguments.RunOutputStdOutVariable
|
|
|
@@ -238,7 +238,7 @@ void TryRunCommandImpl::RunExecutable(const std::string& runArgs,
|
|
|
the executable would have produced.
|
|
|
*/
|
|
|
void TryRunCommandImpl::DoNotRunExecutable(
|
|
|
- const std::string& runArgs, const std::string& srcFile,
|
|
|
+ const std::string& runArgs, cm::optional<std::string> const& srcFile,
|
|
|
std::string const& compileResultVariable, std::string* out,
|
|
|
std::string* stdOut, std::string* stdErr)
|
|
|
{
|
|
|
@@ -421,9 +421,11 @@ void TryRunCommandImpl::DoNotRunExecutable(
|
|
|
|
|
|
comment += "The ";
|
|
|
comment += compileResultVariable;
|
|
|
- comment += " variable holds the build result for this try_run().\n\n"
|
|
|
- "Source file : ";
|
|
|
- comment += srcFile + "\n";
|
|
|
+ comment += " variable holds the build result for this try_run().\n\n";
|
|
|
+ if (srcFile) {
|
|
|
+ comment += "Source file : ";
|
|
|
+ comment += *srcFile + "\n";
|
|
|
+ }
|
|
|
comment += "Executable : ";
|
|
|
comment += copyDest + "\n";
|
|
|
comment += "Run arguments : ";
|