private bool CheckPluginsHaveSharedLibraries()
{
_plugins.Clear();
string linuxDir = Path.Combine(Factory.AGSEditor.EditorDirectory, LINUX_DIR);
string lib32Dir = Path.Combine(linuxDir, LINUX_LIB32_DIR);
string lib64Dir = Path.Combine(linuxDir, LINUX_LIB64_DIR);
foreach (Plugin plugin in Factory.AGSEditor.CurrentGame.Plugins)
{
string soName = "lib" + plugin.FileName.Substring(0, plugin.FileName.Length - 3) + "so";
bool has32bit = File.Exists(Path.Combine(lib32Dir, soName));
bool has64bit = File.Exists(Path.Combine(lib64Dir, soName));
if ((!has32bit) || (!has64bit))
{
DialogResult ignore = MessageBox.Show("WARNING! The plugin '" + plugin.FileName +
"' does not have a Linux equivalent ('" + soName +
"' (" + (has32bit ? "" : "32-bit") + (has64bit ? "" : (has32bit ? "" : ", ") + "64-bit") + ")" +
") available. Your game may not run or function properly without it. Do you wish to continue building for Linux anyway?",
"Missing plugin for Linux",
MessageBoxButtons.YesNo,
MessageBoxIcon.Warning);
if (ignore == DialogResult.Yes) continue;
return false;
}
_plugins.Add(soName);
}
return true;
}