|
|
|
@ -728,7 +728,30 @@ bool launchProgram(const std::string &programName, const std::string &arguments,
|
|
|
|
|
CloseHandle( pi.hThread );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#elif defined(NL_OS_UNIX)
|
|
|
|
|
#elif defined(NL_OS_MAC)
|
|
|
|
|
std::string command;
|
|
|
|
|
|
|
|
|
|
if (CFile::getExtension(programName) == "app")
|
|
|
|
|
{
|
|
|
|
|
// we need to open bundles with "open" command
|
|
|
|
|
command = NLMISC::toString("open \"%s\"", programName.c_str());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
command = programName;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// append arguments if any
|
|
|
|
|
if (!arguments.empty())
|
|
|
|
|
{
|
|
|
|
|
command += NLMISC::toString(" --args %s", arguments.c_str());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int res = system(command.c_str());
|
|
|
|
|
|
|
|
|
|
if (res && log)
|
|
|
|
|
nlwarning ("LAUNCH: Failed launched '%s' with arg '%s' return code %d", programName.c_str(), arguments.c_str(), res);
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
|
|
static bool firstLaunchProgram = true;
|
|
|
|
|
if (firstLaunchProgram)
|
|
|
|
@ -811,9 +834,6 @@ bool launchProgram(const std::string &programName, const std::string &arguments,
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
#else
|
|
|
|
|
if (log)
|
|
|
|
|
nlwarning ("LAUNCH: launchProgram() not implemented");
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|