mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-15 12:09:06 +00:00
Changed: Use same code as under Linux for OS X when executing sheel scripts
This commit is contained in:
parent
a91fa58656
commit
1ce6c24297
1 changed files with 26 additions and 18 deletions
|
@ -765,26 +765,34 @@ bool launchProgram(const std::string &programName, const std::string &arguments,
|
||||||
CloseHandle( pi.hThread );
|
CloseHandle( pi.hThread );
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(NL_OS_MAC)
|
|
||||||
// we need to open bundles with "open" command
|
|
||||||
std::string command = NLMISC::toString("open \"%s\"", programName.c_str());
|
|
||||||
|
|
||||||
// append arguments if any
|
|
||||||
if (!arguments.empty())
|
|
||||||
{
|
|
||||||
command += NLMISC::toString(" --args %s", arguments.c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
int res = system(command.c_str());
|
|
||||||
|
|
||||||
if (!res) return true;
|
|
||||||
|
|
||||||
if (log)
|
|
||||||
{
|
|
||||||
nlwarning ("LAUNCH: Failed launched '%s' with arg '%s' return code %d", programName.c_str(), arguments.c_str(), res);
|
|
||||||
}
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
#ifdef NL_OS_MAC
|
||||||
|
// special OS X case with bundles
|
||||||
|
if (toLower(programName).find(".app") != std::string::npos)
|
||||||
|
{
|
||||||
|
// we need to open bundles with "open" command
|
||||||
|
std::string command = NLMISC::toString("open \"%s\"", programName.c_str());
|
||||||
|
|
||||||
|
// append arguments if any
|
||||||
|
if (!arguments.empty())
|
||||||
|
{
|
||||||
|
command += NLMISC::toString(" --args %s", arguments.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
int res = system(command.c_str());
|
||||||
|
|
||||||
|
if (!res) return true;
|
||||||
|
|
||||||
|
if (log)
|
||||||
|
{
|
||||||
|
nlwarning ("LAUNCH: Failed launched '%s' with arg '%s' return code %d", programName.c_str(), arguments.c_str(), res);
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static bool firstLaunchProgram = true;
|
static bool firstLaunchProgram = true;
|
||||||
if (firstLaunchProgram)
|
if (firstLaunchProgram)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue