本文整理汇总了C++中ToolEnvironment::GetMonoExecutableDir方法的典型用法代码示例。如果您正苦于以下问题:C++ ToolEnvironment::GetMonoExecutableDir方法的具体用法?C++ ToolEnvironment::GetMonoExecutableDir怎么用?C++ ToolEnvironment::GetMonoExecutableDir使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ToolEnvironment
的用法示例。
在下文中一共展示了ToolEnvironment::GetMonoExecutableDir方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HandleToolUpdate
//.........这里部分代码省略.........
String compile = ToString("\"\"%s\" ", msbuildcmd.CString());
if (requiresNuGet)
{
compile += ToString("&& \"%s\" restore \"%s\" ", nugetBinary.CString(), solutionPath.CString());
}
compile += ToString("&& msbuild \"%s\" %s %s", solutionPath.CString(), platforms.CString(), configs.CString());
if (curBuild_->targets_.Size()) {
StringVector targets;
for (unsigned i = 0; i < curBuild_->targets_.Size(); i++)
{
const char* tname = curBuild_->targets_[i].CString();
targets.Push(ToString("/t:\"%s:Rebuild\"", tname));
}
compile += " " + String::Joined(targets, " ");
}
// close out quote
compile += "\"";
args.Push(compile);
#else
String compile;
String cmd = "bash";
args.Push("-c");
String xbuildBinary = tenv->GetMonoExecutableDir() + "xbuild";
if (requiresNuGet)
{
#ifdef ATOMIC_PLATFORM_OSX
compile += ToString("\"%s\" restore \"%s\" && ", nugetBinary.CString(), solutionPath.CString());
#else
compile += ToString("mono \"%s\" restore \"%s\" && ", nugetBinary.CString(), solutionPath.CString());
#endif
}
compile += ToString("\"%s\" \"%s\" %s %s", xbuildBinary.CString(), solutionPath.CString(), platforms.CString(), configs.CString());
if (curBuild_->targets_.Size()) {
StringVector targets;
for (unsigned i = 0; i < curBuild_->targets_.Size(); i++)
{
const char* tname = curBuild_->targets_[i].CString();
targets.Push(ToString("%s:Rebuild", tname));
}
compile += " /target:\"" + String::Joined(targets, ";") + "\"";
}
args.Push(compile);
#endif
curBuild_->allArgs_.Join(args, " ");
SubprocessSystem* subs = GetSubsystem<SubprocessSystem>();
Subprocess* subprocess = nullptr;
ATOMIC_LOGINFOF("%s : %s", cmd.CString(), curBuild_->allArgs_.CString());
try
{
subprocess = subs->Launch(cmd, args, "");
}
catch (Poco::SystemException)
{
subprocess = nullptr;
}
if (!subprocess)
{
CurrentBuildError(ToString("NETCompile::Compile - Unable to launch MSBuild subprocess\n%s", curBuild_->allArgs_.CString()));
return;
}
VariantMap buildBeginEventData;
buildBeginEventData[NETBuildBegin::P_BUILD] = curBuild_;
SendEvent(E_NETBUILDBEGIN, buildBeginEventData);
SubscribeToEvent(subprocess, E_SUBPROCESSCOMPLETE, ATOMIC_HANDLER(NETBuildSystem, HandleCompileProcessComplete));
SubscribeToEvent(subprocess, E_SUBPROCESSOUTPUT, ATOMIC_HANDLER(NETBuildSystem, HandleSubprocessOutput));
curBuild_->status_ = NETBUILD_BUILDING;
}
}